Вопросы с тегами [django-models]

5

голосов
2

ответ
2.7k

Просмотры

Как вы объединить две таблицы, используя Django без использования сырой SQL?

Является ли можно программно объединить две таблицы с помощью ORM Джанго? У меня есть две модели: темы и голосов. На моем шаблоне у меня есть список тем, которые пользователи могут вверх / вниз голосовать, как Reddit. Все работает, как это должно для сортировки результатов, за исключением. Я не могу понять, как сортировать список объектов на основе от партитуры, которая является суммой подсчета голосов каждого объекта. Я могу получить нужные данные из Postgres без вопроса: выберите i.id, I. Название, i.date_created, s.object_id, s.vote, Sum (голос) от topic_topic я голосует S, где i.id = s. object_id группы 1, 2, 3, 4, 5 упорядочить по сумме DESC; Она возвращает желаемые результаты: ID | название | date_created | object_id | голосовать | сумма 11 | SDFG | 2012-06-04 23: 30: 17.805671-07 | 11 | 1 | 2 1 | тест | 2012-05-13 17:03:24. 206092-07 | 1 | 1 | 2 3 | ASDF | 2012-05-13 19: 23: 15.059135-07 | 3 | 1 | 2 2 | adsf | 2012-05-13 19: 21: 34.180905-07 | 2 | 1 | 2 12 | 11 | 2012-06-04 23: 30: 54.759158-07 | 12 | 1 | 2 9 | asfd | 2012-05-24 00: 26: 26.705843-07 | 9 | -1 | -1 4 | ASDF | 2012-05-14 19: 59: 52.450693-07 | 4 | -1 | -2 Проблема заключается в том, что я не знаю, как получить это как QuerySet. На данный момент я использую следующие для отображения объектов: topic_list = Topic.objects.all () Все дисплеи, как хотелось бы, чтобы он, за исключением порядка сортировки. Я хотел бы самый высокий балл, чтобы отобразить первый. Ресурсы я уже смотрел на: https://docs.djangoproject.com/en/dev/topics/db/managers/#adding-extra-manager-methods Как запросить в GROUP BY в Джанго? И многое другое, но как новый пользователь, анти-спам мешает мне добавлять их. Вещь я пробовал: Сеть: listed_links = список (цепь (тему, оценку)) К сожалению, если бы я попытался добавить отсортированное значение этого сломалось. Объединение списков объектов:. Тема = Topic.objects.all () values_list ( 'пользователь', 'Идентификатор', 'название', 'пробковый', 'DATE_CREATED', 'date_updated',) оценка = Vote.objects.values ​​(» object_id.) аннотацию (всего = Sum ( 'голосов ') - общий ") результаты = [] для темы в тему) order_by (.': results.append (тема) для очков в счете: results.append (тема) Это в результате все объекты, которые я хотел в одном списке, но я не мог понять, как связать topic.id с score.object_id. Я также попытался вставить сырой SQL, но я не чувствую, что я делаю это правильно, и может привести к инъекции SQL третьей стороной. Я хотел бы поделиться результатами этого назад к проекту Джанго голосования. Как я уже сказал, все работает как надо, но только я не могу понять, как сортировать по бальной по алфавиту. ============= Голосование ======================== от django.contrib.contenttypes импорта родовое из django.contrib .contenttypes.models импорт ContentType из django.contrib.auth.models Импорт пользователей из django.db импорта моделей из voting.managers Импорт VoteManager из voting.VotedObjectsManager импорта VotedObjectsManager ОЦЕНОК = ((+1, и '+ 1'), (- 1, u'-1' ),) класс ГОЛОСУЕМ (models.Model): "" "голосование на объекте пользователем. """ пользователь = models.ForeignKey (пользователь) content_type = models.ForeignKey (ТипСодержимого) object_id = models.PositiveIntegerField () объекта = общий характер.
user1462141
6

голосов
4

ответ
5.6k

Просмотры

Джанго и сохраняя координаты

Что было бы идеальным способом поддержания координаты местоположения как поле модели Симметричного использовать на Google Maps в Django?
Hellnar
2

голосов
1

ответ
1.6k

Просмотры

Django models overriding save / use a signal / or use a modelform?

Я понимаю, что это было предложено раньше, но я не смог найти вопрос, который на самом деле дело с того, что я пытаюсь сделать. Я думаю, что это довольно просто, но я хотел бы знать, что население в целом считает, что лучше форма здесь. Допустим, мы имеем следующие: models.py класса TestClass (models.Model): User = models.ForeignKey (Пользователь) testfield = models.CharField () testbool = models.BooleanField (по умолчанию = False) Защиту сохранить (самостоятельно, * арг , ** kwargs): «»»- то, что мы пытаемся сделать, это убедиться, что пользователь не имеет больше, чем X (позволяет сказать, 5) соответствующие поля тест - что, если мы хотим добавить валидацию testfield. чтобы обеспечить это было только [A-Za-Z] ""», если TestClass.objects.filter (пользователь = self.user) .count ()> = 5: # Как мы выходим грациозно? вернуться супер (TestClass, самость) .save (* арг, ** kwargs) Комментарии в функции сохранения в значительной степени суммируют мой вопрос: - Как бы мы гарантируем, что не более чем в 5 связанных TestClass-х к давая пользователю - Как мы выходим грациозно сохранения (без сохранения), если уже есть 5 - Как мы сообщаем это обратно пользователю? - где мы проверить объект testfield для обеспечения его имеет только [AZ]? я могу просто импортировать повторно и сделать это здесь, а? нужно ли мне? Является ли это лучше всего, чтобы бросить все это здесь? Должен ли я выстрелить pre_save сигнал? Или я должен просто использовать ModelForm ж / проверки? s к давая пользователю - Как мы выйти грациозно сохранение (без сохранения), если уже есть 5 - Как мы сообщаем это обратно пользователю? - где мы проверить объект testfield для обеспечения его имеет только [AZ]? я могу просто импортировать повторно и сделать это здесь, а? нужно ли мне? Является ли это лучше всего, чтобы бросить все это здесь? Должен ли я выстрелить pre_save сигнал? Или я должен просто использовать ModelForm ж / проверки? s к давая пользователю - Как мы выйти грациозно сохранение (без сохранения), если уже есть 5 - Как мы сообщаем это обратно пользователю? - где мы проверить объект testfield для обеспечения его имеет только [AZ]? я могу просто импортировать повторно и сделать это здесь, а? нужно ли мне? Является ли это лучше всего, чтобы бросить все это здесь? Должен ли я выстрелить pre_save сигнал? Или я должен просто использовать ModelForm ж / проверки?
lostincode
21

голосов
5

ответ
18k

Просмотры

В Джанго, как сортировать модель на поле, а затем получить последний элемент?

В частности, у меня есть модель, которая имеет поле, как этот pub_date = models.DateField ( «дата публикации») Я хочу, чтобы иметь возможность легко захватить объект с самым последним pub_date. Что это самый простой / лучший способ сделать это? Будет что-то вроде следующего делать то, что я хочу? Edition.objects.order_by ( 'pub_date') [: - 1]
Paul Wicks
4

голосов
1

ответ
3.1k

Просмотры

модели Django, один ко многим отношений с задней ссылкой [как]

У меня есть база данных, я наполненные объекты с помощью SQLAlchemy, но я не могу понять, как сделать модели в Django. Мне нужны Показать объекты, чтобы иметь массив объектов Episode через отношения. В базе данных все объекты Episode есть столбец «SHOW_TITLE» и все Показать объекты имеют «эпизоды» объекты выглядят как это с SQLAlchemy, класс AlphaShow (Base): __tablename__ = «показать» название = Column (UnicodeText, primary_key = True ) описание = Column (UnicodeText) изображение = Column (UnicodeText) эпизоды = отношения ( "Эпизод", backref = "шоу") Защита __init __ (я, _meta): self.title = _meta.title self.image = _meta.image самостоятельно .description = класс _meta.description эпизод (Base): #was без основания __tablename __ = 'эпизод' название = Column (UnicodeText, primary_key = True) ссылка = Column (UnicodeText) SHOW_TITLE = Column (UnicodeText, ForeignKey ( 'show.title')) Защиту __init __ (я, _title, _link): self.title = _title self.link = _link Как бы я сделать модели в Django? Я попытался это, но он не работает, класс Shows (models.Model): эпизоды = [] название = models.TextField (primary_key = True) Описание = models.TextField () изображение = models.TextField () Класс Meta: db_table = 'показывает' защиту __str __ (Я): возвращение класса self.title эпизод (models.Model): название = models.TextField (primary_key = True) ссылка = models.TextField класс () SHOW_TITLE = models.ForeignKey (Показывает) Мета: db_table = 'эпизоды' Защита __str __ (самостоятельно): вернуть себя.
Reed Jones
4

голосов
1

ответ
2k

Просмотры

как создать сериалайзер для поля перечислений в рамках отдыха Джанго

я пишу API в питон Джанго рамки отдыха, и я застрял на создание поля сериализатора для ENUM, как я могу создать поле сериализатора для поля ENUM. моя модель код: Queue класс (models.Model): класс Meta: идентификатор db_table = 'очередей' = models.UUIDField (primary_key = True, по умолчанию = uuid.uuid4, редактируемые = False, уникальный = True) имя = models.CharField (max_length = 45) тип = EnumChoiceField (QueueTypes, по умолчанию = QueueTypes.pending) дата = models.DateTimeField (auto_now = True) и я пишу сериалайзер для этой модели. Класс QueueSerializer (serializers.ModelSerializer): класс Meta: модель = Queue поля = ( '__all__') ID = serializers.CharField (read_only = True) имя = serializers.CharField (max_length = 45, Требуемый тип = True) = ????? # то, что я должен здесь делать? дата = serializers.DateTimeField (read_only = True)
nick
7

голосов
6

ответ
10.5k

Просмотры

чтобы пользователь в модели по умолчанию для текущего пользователя [дублировать]

Этот вопрос уже есть ответ здесь: Как назначить текущий пользователь в качестве значения по умолчанию для поля модели? 4 ответов У меня есть следующий: от django.contrib.auth.models импорта класса пользователя ClientDetails (models.Model): CREATED_BY = models.ForeignKey (User) ... Как сделать CREATED_BY по умолчанию для текущего авторизованного пользователя? (Я хочу, чтобы это сделать, так что я могу скрыть его в представлении администратора в основном, но и потому, что при сохранении экземпляра я не хочу, чтобы заполнять его каждый раз)
Sevenearths
5

голосов
1

ответ
1.5k

Просмотры

Django & Soft Deletion: Implementation architecture

Определения SOFT DELETE - не удаляет объект из базы данных, но, как представляется, сделать это ТРУДНО УДАЛИТЬ - полностью удаляет объект из базы данных Вопрос Каков наилучший способ реализации мягкого удаления в кодовую (в частности, проект Django)? Самый простой метод, который я думаю, что было бы просто добавить: is_deleted = models.BooleanField (по умолчанию = False) суперкласса, который реализует softDeleteObject, а затем переопределить удаление (), чтобы установить соответствующие флаги на рассматриваемых объектов. Связанные объекты также должны наследовать от одного суперкласса. Альтернатива была бы вместо того, чтобы удалить оригинал, и есть то, что составляет предмет архива, который является представлением удаленных объектов. Анализ первый, как представляется, имеет большую степень простоты, но требуют некоторого широкомасштабного переопределения - например, Пользователь должен быть переопределен для обеспечения того, чтобы иностранные ключевых отношения всех удаленных объектов все еще держали, и что при удалении пользователя, то не трудно удалить все их мягкие удаленные объекты. Второй может быть реализован с pre_delete сигналов, которые инициируют создание суррогатных объектов. Это опять-таки имеют некоторые преимущества (не нужно переопределить все удалить () методу), но требует реализации архивированных версий моделей, используемых в проекте. Что предпочтительнее, и есть другие альтернативы? т необходимо переопределить все удалить () методу), но требует реализации архивированных версий моделей, используемых в проекте. Что предпочтительнее, и есть другие альтернативы? т необходимо переопределить все удалить () методу), но требует реализации архивированных версий моделей, используемых в проекте. Что предпочтительнее, и есть другие альтернативы?
jvc26
4

голосов
3

ответ
2k

Просмотры

Как включить приложение Django в моем PYTHONPATH?

Я хочу, чтобы иметь возможность импортировать вещи из приложений в моем проекте, не ссылаясь на мое имя проекта. Моя структура папок, как это; У меня есть проект под названием djangoproject1, и внутри у меня есть папка с именем приложения, а затем у меня есть отдельные приложения в этой папке. djangoproject1, приложение, и все мои приложения имеют пустой файл «__init__.py» в них. В моем файле settings.py У меня есть следующий код: импорт ОС импорта SYS PROJECT_ROOT = os.path.dirname (__ FILE__) sys.path.insert (0, os.path.join (PROJECT_ROOT, "приложение")) Я пытался добавить свои приложения к INSTALLED_APPS несколькими способами: 'djangoproject1.apps.app1', 'djangoproject1.apps.app2', или 'apps.app1', 'apps.app2', или 'APP1', 'app2', но ничего не работает , Всякий раз, когда я пытаюсь сделать: от app1 импорта * Я получил неразрешенные ошибки импорта.
JPC
3

голосов
2

ответ
442

Просмотры

Как сериализовать отношения в Джанго отдохнуть?

ForeignKey ( 'product.Product') = models.IntegerField Вспомогательного (нуль = True, по умолчанию = 0) Count = models.IntegerField () Защита __unicode __ (Я): возвращение класс self.id доставка (models.Model): ID = модели .AutoField (primary_key = True) date_create = models.DateField (auto_now_add = True) date_change = models.DateField (auto_now = True) delivery_time = models.DateTimeField () delivery_adress = models.TextField () телефон = models.TextField () защиту __unicode__ (Я): класс возврата self.phone платежи (models.Model): идентификатор = models.AutoField (primary_key = True) date_create = models.DateField (auto_now_add = True) date_change = models.DateField (auto_now = True) название = модели. Текстовое поле(); Защиту __unicode __ (Я): PAYMENTMETHOD», 'Сумм', 'успех') Защиту создать (я, validated_data): deliverys_data = validated_data.pop ( 'доставка') paymentsMethod_data = validated_data.pop ( 'PAYMENTMETHOD') порядок = Order.objects.create (** validated_data ) для delivery_data в deliverys_data: Delivery.objects.create (порядок = порядок ** delivery_data) для paymentMethod_data в paymentsMethod_data: Payments.objects.create (порядок = порядок ** paymentMethod_data) возврат заказа Вид: @api_view ([ 'POST' ]) Защита order_post (запрос, формат = None): #list всех фрагменты, или создать новый фрагмент. если request.method == 'POST': = сериализатору OrderSerializer (данные = request.data), если serializer.is_valid (): сериализатору.
Weit
4

голосов
1

ответ
1.2k

Просмотры

Джанго Стог ForeignKey отношения

Indexable): текст = indexes.CharField (документ = True, use_template = True) DATE_ADDED = indexes.DateTimeField (model_attr = 'DATE_ADDED') Защита get_model (Я): возвращение Фото Защита index_queryset (Я): возвращение self.get_model (). objects.filter (date_added__lte = datetime.datetime.now ()) Теперь я хочу, чтобы получить объект GroupUpload, который имеет отношение с фото. с этим Defination я получаю только фото объекта не связан объект в GroupUpload. я проверил документ. но нету решен до сих пор. фильтр (date_added__lte = datetime.datetime.now ()) Теперь я хочу, чтобы получить объект GroupUpload, который имеет отношение с фото. с этим Defination я получаю только фото объекта не связан объект в GroupUpload. я проверил документ. но нету решен до сих пор. фильтр (date_added__lte = datetime.datetime.now ()) Теперь я хочу, чтобы получить объект GroupUpload, который имеет отношение с фото. с этим Defination я получаю только фото объекта не связан объект в GroupUpload. я проверил документ. но нету решен до сих пор.
Aragon
4

голосов
1

ответ
4.1k

Просмотры

данные в формате JSON преобразования модели Джанго

Мне нужно, чтобы преобразовать данные в формате JSON Джанго модели. Это мои данные JSON { "данные": [{ "ID": "20ad5d9c-b32e-4599-8866-a3aaa5ac77de", "имя": "name_1"}, { "ID": «7b6d76cc-86cd-40f8-be90 -af6ced7fec44" , "имя": "NAME_2"}, { "ID": "b8843b1a-9eb0-499f-ba64-25e436f04c4b", "имя": "NAME_3"}]} Это мой метод Джанго Защиту get_titles (): URL = 'HTTP: // локальный: 8080 / названия /' г = requests.get (URL) названия = r.json () для печати (названия [ 'данные']) Что мне нужно преобразовать в модель и перейти к шаблон. Пожалуйста, дайте мне знать, как преобразовать JSON в модель.
Damith Ganegoda
1

голосов
2

ответ
1k

Просмотры

How to override AutoSlugField?

Я хочу, чтобы переопределить в поле пробкового записи, то. На мой взгляд, я автоматически создать новую запись, когда add_post страница загружена. Как: Защита add_post (запрос): пост = Post (владелец = request.user) post.save () post_id = post.id если request.method == 'POST': форма = add_form (request.POST), если form.is_valid (): FORM_TITLE = form.cleaned_data [ 'название'] #Other поля updated_post = Post.objects.get (ID = post_id) updated_post.title = FORM_TITLE Сохранять в других областях ... updated_post.save () И я slug_field в мой models.py как: класс Post (models.Model): владелец = models.ForeignKey (Пользователь) TITLE = models.CharField (max_length = 100, пустой = True) #Other полей ... слизняк = AutoSlugField (populate_form = 'название »уникальный = True) В моих взглядах. р после поста = Post (владелец = request.user) линии; он создает запись с именем пробкового поля по умолчанию, потому что нет названия значения еще. Но, как вы видите, я обновил этот пост (добавив название и другие поля). Но пробковое поле не обновиться. Это еще что имя пробкового по умолчанию. Как я могу это исправить? Если это не возможно, я собираюсь удалить AutoSlugField из моих проектов и использовать только идентификатор сообщения.
alix
18

голосов
7

ответ
7.8k

Просмотры

Django Migration Error: Column does not exist

Python 3, Django 1.8.5, Postgres У меня есть модели сайтов, которые работали отлично. Недавно я попытался добавить поле, AIRPORT_CODE и перенести данные. Класс сайта (BaseModel): объекты = SiteManager () имя = models.CharField (max_length = 200, уникальный = True) домен = models.CharField (MAX_LENGTH = 200, уникальный = True) погода = models.CharField (MAX_LENGTH = 10) nearby_sites = models.ManyToManyField ( 'я', симметричные = False, пустой = True) пользователи = models.ManyToManyField (settings.AUTH_USER_MODEL, пустой = True) = facebook models.URLField (max_length = 200) твиттер = models.URLField (max_length = 200 ) header_override = models.TextField (пустой = True) email_header_override = models.TextField (пустой = True) timely_site_tag_id = models.IntegerField () timely_featured_tag_id = models.IntegerField () timely_domain = модели. CharField (max_length = 255) sitemap_public_id = models.CharField (max_length = 255) состояние = models.CharField (max_length = 24) AIRPORT_CODE = JSONField () Однако, когда я побежал makemigrations я получил ошибку: django.db.utils.ProgrammingError: колонка sites_site.airport_code не существует LINE 1: «„„„..._ сайт sitemap_public_id“,“ sites_site состояние“,» sites_sit ... Конечно, это не имеет смысла, так как столбец, очевидно, не существует когда я пытаюсь создать его в процессе миграции. Я видел много вопросов по поводу этой ошибки на переполнение стека, которые без ответа, или есть решение вручную создать файл переноса, или уничтожить и восстановить базу данных. Это не в порядке решения. CharField (max_length = 24) AIRPORT_CODE = JSONField () Однако, когда я побежал makemigrations я получил ошибку: django.db.utils.ProgrammingError: колонка sites_site.airport_code не существует LINE 1: «. "..._ сайт sitemap_public_id", «sites_site». «состояние», «sites_sit ... Конечно, это не имеет смысла, так как столбец, очевидно, не существует, когда я пытаюсь создать его в процессе миграции. Я видел много вопросов по поводу этой ошибки на переполнение стека, которые без ответа, или есть решение вручную создать файл переноса, или уничтожить и восстановить базу данных. Это не в порядке решения. CharField (max_length = 24) AIRPORT_CODE = JSONField () Однако, когда я побежал makemigrations я получил ошибку: django.db.utils.ProgrammingError: колонка sites_site.airport_code не существует LINE 1: «. "..._ сайт sitemap_public_id", «sites_site». «состояние», «sites_sit ... Конечно, это не имеет смысла, так как столбец, очевидно, не существует, когда я пытаюсь создать его в процессе миграции. Я видел много вопросов по поводу этой ошибки на переполнение стека, которые без ответа, или есть решение вручную создать файл переноса, или уничтожить и восстановить базу данных. Это не в порядке решения.
Alex
4

голосов
1

ответ
63

Просмотры

Внутренние классы - наследование и перегрузка их атрибутов

Я пытаюсь понять, как Django использует метаклассы Python для его моделей баз данных (параметры) и пришел к следующему усеченной фрагмент коды, который должен грубо имитируют логики Джанго. класс DatabaseOptions (объект): Защита __init __ (самостоятельно, выбирает): если ОПТС:. для ключа, вал в OPTS .__ Словаря __ пункты (): если не key.startswith ( '__') и не вызываемый (VAL): SetAttr (самообеспечение , ключ, вал) класс MetaModel (тип): Защита __new __ (ЦБС, имя, базы, classdict): результат = супер () .__ новый __ (ЦБС, имя, базы, ДИКТ (classdict)) выбирает = classdict.pop ( 'DbMeta 'None), если КЛЮЧ: SetAttr (результат, '_db_meta', DatabaseOptions (ОПТС)) возвращаемый результат класса Model (объект, метаклассом = MetaModel): класс DbMeta: база данных =' DbMeta не наследует атрибут мигрирует из Model.DbMeta? Есть ли решение для такого рода проблемы? Edit: В соответствии с ответом Даниила я придумал следующее, что работал для меня: класс DatabaseOptions (объект): четкости __init __ (я, ОПТС): если ОПТС: для ключа в директории (ОПТС): если не key.startswith ( '__ «): Вэл = GetAttr (ОПТС, ключ, None), если не отозваны (значение): SetAttr (я, ключ, вал)
hetsch
13

голосов
7

ответ
38k

Просмотры

Изображения из ImageField в Django не загружаются в шаблон

Я строй галереи, используя Django (1.5.1) на моей локальной машине. В моей модели альбома у меня есть ImageField. Существует мнение, чтобы показать все изображения альбома. Он хорошо работает, но в конце концов изображения не отображаются. Там же граница изображений, как вы можете увидеть, но изображения не загружаются. models.py класс Скриншот Категория (models.Model): ### Класс Альбом (models.Model): категория = models.ForeignKey (категория, related_name = 'альбомы') ### класс Image (models.Model): альбом = models.ForeignKey (Альбом) изображение = models.ImageField (upload_to 'изображений / альбомы /' =) views.py четкость деталей (запрос, album_id): альбом = get_object_or_404 (Альбом, рк = album_id) возвращает визуализации (запрос, «галерея / detail.html», { 'альбом': альбом}) detail.html {{album.title}} {% для изображения в album.image_set. все%} {% ENDFOR%} Если это мой альбом Адрес: Http: // Localhost: 8000 / галерея / 1 / Then изображение Ссылка: Http: // Localhost: 8000 / медиа / фото / альбомы / photo_4.JPG ( Я получаю 404, когда ввести его в браузере) Этот медиа-корень и URL: MEDIA_ROOT = «/ СМИ /» MEDIA_URL = «/ локальный: 8000 / СМИ /» Мой медиа корень имеет 777 разрешение. Что мне теперь делать? В чем проблема?
sheshkovsky
7

голосов
3

ответ
2.6k

Просмотры

Django limit_choices_to на группы пользователей

У меня есть следующие модели поля: Имя = models.ForeignKey (Пользователь, уникальный = False, редактируемые = False, limit_choices_to = { «is_staff»: Ложные}) Как я могу ограничить выбор, основываясь на определенной группе пользователей, а не ограничения для определенных пользователей на основе флага. Можно ли каким-то образом ограничить выбор, основанный на auth_user_groups? Спасибо
Imran Azad
1

голосов
3

ответ
3.9k

Просмотры

Django/Forms: How can i validate initial data against received data (if match)?

Let's say that I'm creating a form and I'm passing some hidden values through bound, that must not be changed. My question is how can I test if a malicious user has changed this hidden values? I'm not sure what exactly does bound data in a form and the difference between initial. In the Django's forms.py is a property called changed_data but I don't know if can help or not. Code for demonstration: forms.py class ConfirmForm(forms.Form): client_id = forms.CharField(widget=forms.HiddenInput()) identifier = forms.CharField(widget=forms.HiddenInput()) def clean(self): # Maybe here the validation process of cliend_id and identifier like: clean_client_id = self.cleaned_data.get('client_id') clean_identifier = self.cleaned_data.get('identifier') if last_client_id == clean_client_id and last_identifier == clean_identifier: return self.cleaned_data else: raise forms.ValidationError("False data.") views.py def form_confirm_handler(request): if request.method == 'POST': form = ConfirmForm(request.POST) if form.is_valid(): #Do something... return redirect('home:index') #The following values are not fixed. Are generated variables! bound_data = {'client_id':'123456','identifier':'wuiy5895'} form = ConfirmForm(bound_data) return render(request, 'client/theform.html', {'form':form}) html template Do you really want to proceed? {% csrf_token %} {{ form.client_id }} {{ form.identifier }} Accept Cancel Thanks in advance!
CodeArtist
5

голосов
1

ответ
895

Просмотры

Использование получить или вставить функциональность в одном для многих моделей Джанго и modelforms

A] Резюме: С помощью получить или вставить функции на одном ко многим моделям Джанго, проверяя, существует ли запись или отношения перед добавлением нового. B] Детали: 1] У меня есть следующая Джанго модель структуры страны (одного) до города (много) 2] Я использую ModelForm для отображения формы на странице HTML. Формы передаются в качестве значений шаблона и значение шаблона затем отрисовываются на HTML странице 3] Когда запрос поста приходит, код извлекает данные стран и форму города, проверки на достоверность и сохраняет его. C] Выпуск / Item, мне нужно помощь с: 1] Я хочу, чтобы использовать функциональные возможности get_or_insert с моей страной и городами отношениями 2] В принципе, я хочу, чтобы проверить, есть ли существующая запись страны в базе данных для страны, выбранная пользователем , 2,1], если страна существует, проверьте, есть ли город запись для выбранной страны. 2. 1,1], если город существует запись, мы хороши, нет необходимости, чтобы добавить еще одну запись 2.1.2], если город запись не существует, создать городской рекорд и связать страну с ней 2.2], если страна не существует , создать запись в стране, создать городской рекорд и связать город запись с записью страны. C] Код Выдержки: 1] Модели и формы - класс UserReportedCountry (db.Model): COUNTRY_NAME = db.StringProperty (обязательно = True, выбор = [ 'Афганистан', 'Aring земля острова']) класс UserReportedCity (db.Model ): страна = db.ReferenceProperty (UserReportedCountry, collection_name = 'города') city_name = db.StringProperty (требуется = True) класс UserCountryForm (djangoforms.ModelForm): класс Meta: страна = country_entity city_entity.put () возвращает еще: возвращение Thankyou для чтения. [Изменить # 1] @ Torsten, пост дал мне указатель на get_or_insert, я тогда наткнулся на StackOverflow пост (http://stackoverflow.com/questions/4812832/get-or-create-matching-key-and-user-python -app двигатель) и реализована функциональность kEY_NAME для пользователя get_or_insert код для сохранения записи выглядит следующим образом: Защита store_user_data (Я): #getting страны пользователя и город user_reported_country = UserCountryForm (self.request.POST) user_reported_city = UserCityForm (я. request.POST), если (user_reported_country.is_valid () и user_reported_city.is_valid ()): Сохранять в страну и город данные country_record = self.store_country_data () city_record = я.
bhavesh
7

голосов
4

ответ
3.6k

Просмотры

кол-число входов в систему с помощью конкретного пользователя Джанго?

Является ли их какой-либо способ подсчета количества Джанго логинов? Last_login поле AUTH_USER обновляется с каждым логином. Можно ли использовать это поле для подсчета количества логинов конкретного пользователя?
Sujit
3

голосов
1

ответ
2.3k

Просмотры

Django, how to do CRUD with django-mptt?

Как мы можем реализовать функциональные возможности CRUD с помощью общих взглядов и Джанго-mptt ?? Я искал много и не смог найти ни одного кода учебник / образец. Скажем, у нас есть иерархия курса или иерархия категорий, или нечто подобное ... Как мы можем добавить / удалить / обновить / Прочитайте их ?? Например у меня есть эта модель: от django.db импортных моделей от mptt.models импорта MPTTModel, TreeForeignKey класса Жанра (MPTTModel): имя = models.CharField (max_length = 50, уникальный = True) родительского = TreeForeignKey ( 'я', нулевого = True, пусто = True, related_name = 'дети') класс MPTTMeta: order_insertion_by = [ 'имя'] и это views.py: от django.views.generic.list_detail импорта object_list из mp.models импорта Жанр DEF genres_list (запрос) : «» «показывает все жанры»
Soask
3

голосов
1

ответ
244

Просмотры

Команда Django атрибут create_or_update модель отлично работает, но обновление не

Я пытаюсь написать помощник CSV, который считывает файл CSV и обновление или создают поля в модели. Запрос create_or_update работает нормально, но это только создание не обновляется. Об изменении create_or_update обновить его выдает ошибку. Код помощника CSV является: Защиту insert_books_from_dictionary (данные): категория, создано = Category.objects.update_or_create (имя = данные [ 'категории']) sub_category = None, если данные [ 'sub_category'] декодировать ( 'UTF-8. '!) = '': sub_category, создано = SubCategory.objects.update_or_create (имя = данные [' sub_category '], категория = категория) издатель, создатель = Publisher.objects.update_or_create (имя = данные [' издательства]) # преобразовывать строки плавать # ToDo: Фикс ограничения и создать функцию # для обработки проверки данных и преобразования попробовать: объект не итерация Об изменения обновления не создавать ошибка больше не будет. Как мне решить эту проблему?
Subhajit
2

голосов
1

ответ
624

Просмотры

Джанго модель проверки без использования ModelForm

Я хотел бы сделать проверку поля на модели Джанго без использования ModelForms. Есть ли способ я могу получить метод clean_fieldname будет вызываться при экономии () вызывается?
pg2286
2

голосов
2

ответ
1.9k

Просмотры

DjangoRestFramework как получить пользователь в режиме просмотра

Im пытается сделать друзей фид, в котором перечислены все «Beat» объекты, которые я в настоящее время с друзьями. Как я могу получить доступ к пользователю внутри моего режима просмотра, чтобы вернуть правильные объекты? МОДЕЛИ: класс Бит (models.Model): created_at = models.DateTimeField (по умолчанию = datetime.now) название = models.CharField (max_length = 255) Описание = models.TextField (пустой = True, нуль = True) любит = модель. IntegerField (по умолчанию = 0) художник = models.ForeignKey (UserProfile, нуль = True, пустой = True) аудио = models.FileField (upload_to = "media_files / аудио /", нуль = True, пусто = True) beat_cover = models.ImageField (upload_to = "media_files / IMG /", NULL = True, пустой = True); admin_name = models.CharField (max_length = 255, пусто = True, нуль = True) класс Meta: заказ = [ '-created_at'] Защиту __unicode __ (Я):
ryan
4

голосов
1

ответ
1k

Просмотры

Джанго unique_together на Postgres: в жизнь ОРМ или БД?

Когда я смотрю на sqlall для models.py, который содержит unique_together заявления, я все, что выглядит как исполнение не заметил. На мой взгляд, я могу себе представить, что это знание может помочь в базе данных оптимизировать запрос, например, так: «Я уже нашел строку со спамом 42 и яйца 91, так что в моем поиске яйца 91, я больше не нужно проверять строки со спамом 42.» Правильно ли я, что это знание может быть полезным для БД? Я прав, что оно не применяется таким образом (то есть, это только подкрепленный ОРМ)? Если да так, это недостаток?
jMyles
4

голосов
3

ответ
2.4k

Просмотры

Джанго - ChoiceField - Опция Кнопки вместо Выбрать поле

Можно отобразить дополнительные кнопки, а поле выбора (в интерфейсе администратора) для ChoiceField? Какие-либо предложения?
8

голосов
1

ответ
3.1k

Просмотры

Уникальное поле в Django модели для каждого внешнего ключа

Я определяю набор моделей, которые имеют ссылки друг на друга. Они представляют собой модель для приложения документации, которая заключается в следующем классе документа (models.Model): Текст = models.TextField () класс Глава (models.Model): DOC = models.ForeignKey ( «Документ») главы = модели. IntegerField () Я хочу, чтобы целое поле, чтобы быть уникальным для каждого документа, но я не уверен, как это сделать. Я знаю, что есть уникальный параметр для каждого поля, но кажется, что он является уникальным для всей таблицы, которая является не то, что я хочу.
user1876508
2

голосов
1

ответ
370

Просмотры

Использование Джанго ORM в моем сельдерей приложение дает ошибку

Я разрабатываю приложение автономного сельдерея, который использует Django ORM для доступа к моей базе данных и выполнять операции в моих данных. Я последовал ответ на этот вопрос: Использовать Django ORM, как автономные Но когда я запускаю мой сельдерей рабочий, он дает мне следующую ошибку: django.core.exceptions.ImproperlyConfigured: Запрошенный установка LOGGING_CONFIG, но параметры не настроены. Вы должны либо определить переменные окружения DJANGO_SETTINGS_MODULE или вызвать settings.configure () перед доступом настройки. Вот мой полный код приложения и структура каталогов: Standalone / ----init.py ----settings.py DATABASE_ENGINE = "django.db.backends.mysql" DATABASE_NAME = "my_database_name" DATABASE_USER = "my_database_username" DATABASE_PASSWORD = " my_database_password "DATABASE_HOST =" «Забудьте активировать виртуальную среду?» ) Поднять execute_from_command_line (sys.argv) ----tasks.py импорт Джанго django.setup () из сельдерея импорта сельдерея из настроек импорта django.conf settings.configure (DATABASE_ENGINE = "django.db.backends.mysql", DATABASE_NAME = "MyDatabase", DATABASE_USER = "MyUserName", DATABASE_PASSWORD = "MyPassword", DATABASE_HOST = "мой хозяин", DATABASE_PORT = "3306", INSTALLED_APPS = ( "MyApp")) из импортных моделей django.db от myApp.models импорта * приложение = Сельдерей ( 'задача', брокер = 'Redis: // ip_address') @ app.task (имя = "task1") Защита task1 (): # Мой код задачи @ app.task (имя = "task2") Защита task2 (): # Мой код задачи ---- / MYAPP -------- / init.py -------- / models.py от django.db импорта моделей из django.utils.encoding импорта python_2_unicode_compatible из Джанго .utils импорта часового пояса # мои модели идут здесь Теперь, когда я запускаю следующую команду: сельдерей -A задачи работника и я получаю эту ошибку: django.core.exceptions.ImproperlyConfigured: Запрошенный установка LOGGING_CONFIG, но параметры не настроены. Вы должны либо определить переменные окружения DJANGO_SETTINGS_MODULE или вызвать settings.configure () перед доступом настройки. Может кто-нибудь предложить, где я неправильно? UPDATE: Вот полный отслеживающий: Traceback (самый последний вызов последнего): Файл "/ USR / местные / бен / сельдерей", строка 11, в sys.exit (основной ()) Файл «/ USR / местные / Библиотека / python2 .7 / Расс-пакеты / сельдерей / __ main__.py "строка 30, в главном главном () Файл" settings.LOGGING) Файл "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", строка 53, в __getattr__ self._setup (имя) Файл «/ USR / местные / Библиотека / python2.7 / Расс-пакеты / Джанго / CONF / __ init__.py», строка 39, в _setup% (возр, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Запрошенный установка LOGGING_CONFIG, но параметры не настроены. Вы должны либо определить переменные окружения DJANGO_SETTINGS_MODULE или вызвать settings.configure () перед доступом настройки. UPDATE 2: Теперь, когда я применил ответ при условии, что оно дает мне ошибку, говорящую не модуль с именем м со следующим TRACEBACK: TraceBack (самый последний вызов последнего): Файл «/ USR / местные / бен / сельдерей», строка 11, в sys.exit (основной) () Файл "/usr/local/lib/python2.7/dist-packages/celery/__main__.py", строка 30,
sshussain270
1

голосов
2

ответ
1.3k

Просмотры

Джанго - категории и подкатегории

Несколько советов о том, как нужно, я могу структурировать свои модели для моего сайта. Я видел этот пост от проекта Django, но все еще немного потерял. Также попадались Джанго-MPTT - но это не поможет и, возможно, слишком много. Я ищу, чтобы иметь категории & подкатегорий, которые отображаются в URL, как это: mysite.com/Level1/Maths/Calculations/Addition/ mysite.com/Level3/English/ mysite.com/Level2/English/Storytelling/ В моей интерфейс администратора Я ищу, чтобы иметь падение падения для каждого уровня категории или подкатегории. Кроме того, на каждом уровне я буду запрашивать элементы (другой модели), как получить все элементы, которые имеют категорию «LEVEL1» И «Математика». Там также может быть ситуация, когда у меня есть пять или более подкатегорий. Как это лучше, чтобы создать свои модели для лучшей производительности? Это он стоит с помощью мечения вместо этого?
JMWhittaker
4

голосов
2

ответ
1.3k

Просмотры

доступ к ForeignKey внутри шаблона

ну это просто тихо. 2 модели с ManyToMany соотношением: класс Автор (models.Model): Имя = models.CharField (max_length = 100, уникальный = True) пробкового = models.SlugField (max_length = 100, уникальный = True, help_text = 'значение Uniq для художника страницы URL, созданный с именем ') birth_name = models.CharField (max_length = 100, пустой = True) класс Song (models.Model): название = models.CharField (max_length = 255) пробкового = models.SlugField (max_length = 255, уникальный = True, help_text = 'Уникальное значение на странице продукта URL, создать из названия.) youtube_link = models.URLField (пустой = False) художники = models.ManyToManyField (Исполнитель) на мой взгляд, предполагают, чтобы отобразить последние 5 песен: Защиту песни (запрос ., template_name = "художники / songs.html"): song_list = Song.objects.all () order_by ( '- created_at') [:
kaycee
2

голосов
1

ответ
52

Просмотры

ValueError в / профиль /: Атрибут «образ» не имеет файл, связанный с ним

Когда пользователь регистрируется для моих app.I получаю эту ошибку, когда он достигает страницы профиля 'ValueError в / профиль /: „образ“ атрибут не имеет файл, связанный с ним. Это мой профиль модели: класс профиля (models.Model): full_name = models.CharField (max_length = 32, пробел = True) Name = models.OneToOneField (settings.AUTH_USER_MODEL, on_delete = models.CASCADE) E_mail = models.EmailField ( max_length = 70, пустой = True) Оценка = models.CharField (max_length = 32, пустой = True) Permanant_Address = models.TextField (пусто = True) = models.ImageField изображения (upload_to 'user_images' =, = NULL Правда, пусто = True) Защита __str __ (Я): возвращение уло (self.Name) Защита get_absolute_url (Я): возвращение назад ( "профиль_пользователь: profiledetail") @property Защиты IMAGE_URL (Я): если self.image и hasattr (self.image " URL '): модель = Профиль form_class = profileform template_name = «профиль_пользователь / profile_form.html» Защита get_object (Я): возвращение self.request.user.profile И в моем шаблоне я сделал что-то вроде этого: Я читал документацию для Встроения в тегах шаблонов и фильтров я думаю, что решение здесь использовать, и я думаю, что я не могу использовать тег шаблона правильно. Как я могу настроить этот шаблон, чтобы сделать снимок вариант. Если их нет фотографии оставить его, но отображать имена людей. Спасибо м начитались документация для встроенных тегов шаблонов и фильтров я думаю, что решение здесь использовать, и я думаю, что я не могу использовать тег шаблона правильно. Как я могу настроить этот шаблон, чтобы сделать снимок вариант. Если их нет фотографии оставить его, но отображать имена людей. Спасибо м начитались документация для встроенных тегов шаблонов и фильтров я думаю, что решение здесь использовать, и я думаю, что я не могу использовать тег шаблона правильно. Как я могу настроить этот шаблон, чтобы сделать снимок вариант. Если их нет фотографии оставить его, но отображать имена людей. Спасибо
Niladry Kar
2

голосов
1

ответ
106

Просмотры

как правильно назначить через атрибут в Джанго?

Имя класса Student (models.Model): Имя = models.CharField (max_length = 50, нуль = True) = профессора models.ManyToManyField (профессор, related_name = 'Студенты') Защиту __str __ (Я): возвращение self.name Каждый студент имеет профессор (с), эти профессора в свою очередь, связаны с категорией вопросов, и каждая категория вопросов имеет связанные вопросы. То, что я хочу, чтобы изменить промежуточную таблицу student_professor добавить поле, в котором, когда студент оценивает учитель, это записывается в базу данных. Я попробовал это: класс профессор (models.Model): имя = models.CharField (max_length = 50, нуль = True) категория = models.ManyToManyField (категория, related_name = 'профессора') Защита __str __ (самостоятельно): вернуть себя. имя класса Student (models.Model): имя = models.CharField (max_length = 50, нуль = True) = профессора models.ManyToManyField (профессор, related_name = 'Студенты', через = 'Studentprofesor') четкость __str __ (сам): возвращение self.name класса Studentprofesor (models.Model): студент = models.ForeignKey (студент, on_delete = models.CASCADE) профессор = models.ForeignKey (профессор, on_delete = models.CASCADE) тестирование = models.BooleanField (по умолчанию = False) миграция работает без проблем, а в базе данных я получаю промежуточную таблицу student_professor с полями I назначен в модели (полевые испытания). Но когда я вхожу в панели управления и создать студент я не имею возможность назначить учитель к ученику (если я запускаю код, как я его в первом блоке, то есть без изменения промежуточной таблицы, если I может назначить его).
Ale
2

голосов
2

ответ
3.2k

Просмотры

Saving a extended user profile

Мне нужно сохранить дополнительную информацию о пользователях, когда они регистрируются. Я использовал это: https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users, но я застрял. Отношение созданы, но ключевое поле пусто. (Уникальный пользователь = True) ключ пользователя = models.OneToOneField: models.py из импортных моделей django.db от django.contrib.auth.models импорта пользователя из django.db.models.signals импорта post_save класса UserProfile (models.Model) = models.CharField (max_length = 20, нуль = True, пусто = True) Защита __unicode __ (Я): возвращение и '% s' % self.user защиту create_user_profile (отправитель, экземпляр, созданный, ** kwargs): если создано: UserProfile.objects.create (пользователь = экземпляр) post_save.connect (create_user_profile, отправитель = пользователь) регистрация views.py четкости (запрос): форма = RegistrationForm (запрос.
vlad
2

голосов
1

ответ
159

Просмотры

Наиболее эффективный способ, чтобы исключить вопросы, заданные заблокированных пользователей в Django приложение

У меня есть Q & A приложение, которое позволяет пользователям блокировать / скрыть другие пользователь, которые они находят раздражающими или оскорбительными. Когда current_user рассматривает все вопросы - Question.objects.all () - Я хотел бы исключить из QuerySet все вопросы, заданные пользователями, которые были заблокированы CURRENT_USER - Block.objects.filter (user_is_blocking = current_user) Что является наиболее эффективным способом сделать это? Если это имеет значение для вашего ответа, я буду применять один и тот же список исключений для других моделей, как ответы, которые также включают в себя в качестве пользователя FK. Модели: Класс Вопрос (models.Model): пользователь = models.ForeignKey (Пользователь) вопрос = models.CharField () класса Block (models.Model): user_is_blocking = models.ForeignKey (Пользователь, related_name = "user_blocking") user_is_blocked = модели .ForeignKey (Пользователь, related_name = "user_blocked") UPDATE: Я получил эту работу благодаря sk1p. то я хотел бы сделать исключение двунаправленного - так я вижу только вопросы пользователей я не блокированный И кто не блокированный меня. Я сделал это следующим образом для тех, кто заинтересован в объединении подзапросов: от itertools импорта цепи i_am_blocking = User.objects.filter (user_blocked__user_is_blocking = request.user) is_blocking_me = User.objects.filter (user_blocking__user_is_blocked = request.user) blocked_users = список (цепи ( i_am_blocking, is_blocking_me)) вопросы = Question.objects.exclude (user__in = blocked_users) ...
user2916527
14

голосов
1

ответ
606

Просмотры

Почему эта база данных ошибка миграции после того, как я обновить мою версию Джанго-mptt?

Мое приложение Django имеет requirements.txt файл (как показано здесь), который я использую, чтобы установить модули в моей виртуальной среде. Все работает отлично. Тем не менее, я сейчас пытаюсь обновить Джанго-mptt от 0.6.1 до последней версии. (Я на самом деле не волнует, чтобы обновить Джанго-mptt. Я просто хочу, чтобы обновить свою версию Django. Но, похоже, обновить Django, я должен сначала обновить Джанго-mptt, как описано здесь). Так что я пип установить -U Джанго-mptt. Это приводит к Джанго-mptt идти от 0.6.1 до 0.7.4 и Джанго, чтобы перейти от 1.7.1 до 1.8.2. И это также вызывает Джанго-кэш-машину, чтобы от начала до мастера. Вы можете увидеть изменения в скриншоте ниже. Затем, когда я manage.py runserver Затем он побуждает меня к миграции. Так что я сделать это. Нет проблем. Однако впоследствии, если я бросаю все таблицы, а затем запустить миграцию снова, я получаю эту ошибку во время миграции: Джанго. db.utils.OperationalError: (1005, 'Can \' т создать таблицу `mydb_instance`.` # SQL-21b_1e` (ERRNO: 150 "ограничение внешнего ключа неправильно формируется") ') Полный трассировки стека здесь. Что это за ошибка? Есть ли у него что-то делать с тем, что я использую MariaDB (версия сервера: 10.0.15-MariaDB Homebrew) вместо MySQL в качестве базы данных? EDIT: Порция НИЖЕ ЭТОЙ ТОЧКИ был добавлен июля 6,2015 в 5:28 UTC я уже упоминал выше, что после обновления, побудило меня сделать мигрируют. Как ни странно, это произошло несмотря на то, обновление MPTT не вызывает какие-либо новые файлы миграция будут созданы! Когда я сделал manage.py runserver, я получил следующее предупреждение. Зачем? Это не имеет никакого смысла: у вас есть непримененные миграции; ваше приложение может не работать должным образом, пока они не применяются. Run «питона manage.py мигрирует», чтобы применить их. РЕДАКТИРОВАТЬ: Часть ниже этой точки был добавлен июля 6,2015 в 17:00 UTC В качестве эксперимента, я выключил основную базу данных из MariaDB в MySQL (версии сервера: 5.6.25). Проблема сохраняется. Ошибка я не могу добавить ограничение внешнего ключа. Полный трассировки стека здесь. EDIT: Порция НИЖЕ ЭТОЙ ТОЧКИ был добавлен июля 6,2015 в 17:05 UTC Проходя через трассировку стека я отправил 5 минут назад, я обнаружил, что ошибка была быть вызвана следующим SQL заявления: ALTER TABLE `myapp2_mymodel2` ADD CONSTRAINT `mymod_mymodel5_id_335ee73cecd6ecbf_fk_myapp5_mymodel5_id` FOREIGN KEY (` mymodel5_id`) ссылки `myapp5_mymodel5`; Я понимаю, что проблема есть. myapp2_mymodel имеет ограничение внешнего ключа myapp5_mymodel. Однако, когда он пытается создать этот FK, он терпит неудачу, потому что цель внешнего ключа еще не существует!
Saqib Ali
2

голосов
1

ответ
323

Просмотры

Джанго: 1215, «Невозможно добавить ограничение внешнего ключа» на модели только с одним полем

У меня есть модель салата: салат класса (models.Model): = models.ForeignKey строка field (профиль, on_delete = models.CASCADE, нуль = True) Независимо от того, как я называю класс, одно поле, какие модели я поставил вместо Профиль, или в зависимости от того on_delete вариант выбрать. Я систематически получаю ошибку: django.db.utils.IntegrityError: (1215, «Невозможно добавить ограничения внешнего ключа») журнал регистрации ошибок: Traceback (самый последний вызов последнего): Файл «C: \ Users \ Див-о \ AppData \ Local \ Programs \ Python \ Python35-32 \ Lib \ сайт-пакеты \ Джанго \ DB \ движки \ utils.py», строка 85, в _execute Применение playerdata.0053_auto_20180724_1943 ... вернуться self.cursor.execute (SQL, PARAMS) Файл "C: \ Users \ Див-о \ AppData \ Local \ Programs \ Python \ Python35-32 \ Lib \ сайт-пакеты \ Джанго \ DB \ движки \ MySQL \ base.py", строка 71, в казнить самовозврата. cursor.execute (запрос,
Ryan Pergent
3

голосов
1

ответ
246

Просмотры

Джанго: можно ли подтвердить и сохранить поля нескольких форм в одной общей точке зрения?

У меня есть 2 модели: класс Person (models.Model): имя пользователя = имя models.CharField = models.CharField (max_length = 30) фамилия = models.CharFields (max_length = 30) ... класс PersonSkills (models.Model): человек = models.ForeignKey (Person) умение = models.CharField (max_length = 30) ... Я хотел бы добавить данные лица и PersonSkills в одном представлении. Теперь у меня есть RegisterView как следующий: класс RegisterForm (ModelForm): класс Meta: модель = Person поля = ( 'имя пользователя', 'имя', 'фамилия', 'пароль',) класс RegisterView (FormView): form_class = RegisterForm success_url = "/ добро пожаловать /" template_name = "register.tmpl" is_valid = True защиту form_valid (самость, форма): form.save () самостоятельно. is_valid = True возвращение супер (RegisterView, самость) .form_valid (форма) Защита form_invalid (самость, форма): self.is_valid = False возвращения супер (RegisterView, самость) .form_invalid (форма) ... Так как я могу добавить данные Человек и PersonSkills в одной точке зрения? Наследование от FormView позволяет только один form_class.
sergzach
3

голосов
1

ответ
4.2k

Просмотры

Django модели не экономить .. Полностью запутаться здесь

У меня есть следующий код на мой взгляд страницы = get_object_or_404 (страница, сайт = сайт, пробкового = слизняк) pagecontents = PageContent.objects.filter (страница = страница) pagecontents [0] = .description form.cleaned_data [ 'описание'] pagecontents [0] .save () печать pagecontents [0] .description печать form.cleaned_data [ «описание»] Когда два оператора печати выполнить, я получаю следующее за линию печать pagecontents [0] .description Наиболее важной страницей для линии form.cleaned_data [ «описание»] наименее важная страница Почему объект не получает спасение?
arustgi
5

голосов
2

ответ
2.4k

Просмотры

Джанго поле модели итерация

как я могу перебирать и получить все поля модели Джанго? Я знаю, что foo.item._meta.get_all_field_names () приносит мне все имена полей. Как я могу получить доступ к этим поля (вкл. Их фактические значения) на экземпляре модели? (За исключением нормального обозначения foo.fieldname). Мне это нужно для того, чтобы построить собственный выход для моей модели, включая ее manyTomany отношения. Есть идеи?
Michael S
7

голосов
2

ответ
10.1k

Просмотры

Django администратора, раздел без «модели»?

в консоли администрирования Django, все секции (ссылки меню) происходят из моделей с таблицами базы данных, но то, что мне нужно делать, если мне нужна раздел без соответствующего модельного объекта (без таблицы базы данных), которая извлекает данные из другой секции с моделью? Есть идеи? Спасибо
Asinox