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

3

голосов
0

ответ
199

Просмотры

Джанго: Пользовательские ForeignKey

Я работаю на процессоре оплаты (в Джанго 1.7) и у меня возникают проблемы с этими 2 моделей: Transaction и событие. Они находятся в отношениях обычая many2one в том смысле, что ссылка на поле является уникальной в записи транзакций и событий, имеющую одинаковые ссылочные поля относятся к Сделке с этой ссылкой. Мне было интересно, если есть чистый способ, чтобы представить это в Джанго. Я удалил поле ссылки из модели событий, и добавил это поле сделки: сделки = models.ForeignKey ( «Сделка», db_column = «эталонную», to_field = «ссылка», db_constraint = False, related_query_name = «событие») Этот путь Я был в состоянии получить доступ к объекту сделки от события и использовать его хорошо в запросах, но теперь я не могу получить доступ к полю ссылок образует экземпляр события. Это странно, так как с нормальным ForeignKey вы можете использовать как объект и object_id. Кроме того, я должен был подделка из сгенерированной миграции :(. Есть ли чистый путь к этому?
user81269
3

голосов
0

ответ
1.1k

Просмотры

Django model save called twice

У меня есть модель Джанго вроде этого: класс UserProfile (models.Model): имя пользователя = models.CharField (max_length = 16) пароль = models.CharField (max_length = 256) по электронной почте = models.CharField (max_length = 64, нуль = True) пол = models.CharField (max_length = 8, нуль = True) phone_number = models.PositiveIntegerField (уникальный = True) profile_pic = models.FileField (upload_to = content_file_name) значок = models.PositiveIntegerField (по умолчанию = 0) защиту __str __ (Я): возвращающий "% S" % self.username Защиты сохранить (я, * арг, ** kwargs): set_password (сам = Я, raw_password = self.password) супер (UserProfile, самость) .save (* арг, ** kwargs) Как вы можете видеть, что я переопределить функцию сохранения для вызова функции set_password (). По неясной причине (или по крайней мере неясным для меня) метод сохранения вызывается дважды. Что является проблемой, потому что он шифрует свой пароль дважды, что делает невозможным получение впоследствии. Я действительно понятия не имею, почему. Я называю эту модель из tastypie API. Скажите мне, если вам нужно что-нибудь еще, мои настройки, или мой импорт, и я добавлю их. EDIT: Код set_password: Защита set_password (сам, raw_password): импорт случайные алго = соль '' = SHA1 get_hexdigest (Algo, ули (random.random ()), ули (random.random ())) [: 5] HSH = get_hexdigest (Algo, соль, raw_password) self.password = '% s% $ s $% s' % (Algo, соль, HSH)
Romain Braun
2

голосов
0

ответ
1.6k

Просмотры

TypeError - ожидается строка или буфер для поля даты в Джанго при использовании SelectDateWidget

У меня есть поле даты в моей модели, и я использую SelectDateWidget (), чтобы обеспечить возможность выбора даты пользователя. Имя поля является срок, и вот как я установить виджет в модели формы виджетов = { «срок»: SelectDateWidget ()} Теперь проблема, когда я отправить форму, я получаю следующее сообщение об ошибке TypeError - ожидается строка или буфер. Я сделал некоторые настройки, и выяснил, что Datewidget возвращает булево значение вместо строки. Если удалить дату виджета и представить дату, как правило, в формате YYYY-MM-DD, все работает отлично. Может кто-нибудь, пожалуйста, помогите понять, что на самом деле происходит здесь не так? Edit: Добавление моей модели и модели класс формы UniData (models.Model): Имя = models.CharField (max_length = 500) пробкового = models.SlugField (пустой = True, уникальный = True) SCORE_CHOICES = ((0,
Sachin
2

голосов
0

ответ
1.2k

Просмотры

Джанго Первичный ключ: плохо формируется шестнадцатеричная строка UUID

Я пытаюсь использовать UUIDField в качестве первичного ключа для модели. Я использую CreateView для создания объектов для этой модели. В любое время я просматриваю к URL для создания одного из объектов, я получаю ошибку: плохо формируется шестнадцатеричная строка UUID Трассировка стека показывает, ошибка возникает здесь, где создается ценность: / Главная / Конор / Джанго / venv2 / местные / Библиотека / python2 0,7 / сайт-пакеты / Джанго / дб / модель / поле / __ init__.py в get_db_prep_value имени возвращения, путь, арг, kwargs четкость get_internal_type (сам): возвращение "UUIDField" DEF get_db_prep_value (сами, значение, связи, подготовленный = False ): если isinstance (значение, six.string_types): значение = uuid.UUID (value.replace ( '-', '')) ... если isinstance (значение, uuid.UUID): если connection.features.has_native_uuid_field: модель = InvoicePayment поля = «__all__» То, что я пытался: Понял это могло бы быть старая проблема схемы: воссозданы базы данных Python версии. Первоначально использовали Python 3.4.0, но проблема сохраняется в Python 2.7 Создание объекта в Джанго оболочки, обновляя же UUID ошибка моей Django от 1.8.3 до 1.8.4 Ни один из этого работал. Помогите!
cbrad
0

голосов
0

ответ
53

Просмотры

Джанго Смарт Выбор: Выпадающее не населяющие

Я давно хотел реализовать Django Smart-Выбирается для зависимых выпадающих. Я написал код, как показано на https://github.com/digi604/django-smart-selects Но второе поле не заполняется Здесь модели для проекта: # Модель: класс ObjectName (models.Model): Objectname = models.CharField (max_length = 100) objFullForm = models.CharField (max_length = 100, по умолчанию = '') защиту __str __ (Я): возвращение класса self.objectName ActionObject (models.Model): Objectname = models.ForeignKey (ObjectName, on_delete = models.CASCADE) действие = models.CharField (max_length = 100) Защита __str __ (Я): возвращение класс self.action Priority (models.Model): priorityName = models.CharField (max_length = 100) priotityScore = models.IntegerField () защиту __str __ (Я): возвращение self.priorityName из smart_selects. db_fields класса импорта ChainedForeignKey ActionObjectPriority (models.Model): Objectname = models.ForeignKey (ObjectName, on_delete = models.CASCADE) ActionName = ChainedForeignKey (ActionObject, chained_field = "Objectname", chained_model_field = "Objectname", show_all = False, auto_choose = True , сортировать = True) приоритет = models.ForeignKey (приоритет, on_delete = models.CASCADE) base.html Шаблон: Base -> {% статическая нагрузка%} {% блок тело%} {%}% концевой блок приоритет шаблон: { % распространяется 'base.html' %} {% блок тело%} Добавить Priority {% csrf_token%} {{form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняется. форма Objectname = models.ForeignKey (ObjectName, on_delete = models.CASCADE) ActionName = ChainedForeignKey (ActionObject, chained_field = "Objectname", chained_model_field = "Objectname", show_all = False, auto_choose = True, вроде = True) приоритет = models.ForeignKey ( Приоритет, on_delete = models.CASCADE) base.html Шаблон: Основа -> {% статическая нагрузка%} {% блок тело%} {%}% концевого блок Приоритет шаблон: {% распространяется '' base.html%} {% блок тело%} Добавить Priority {% csrf_token%} {{form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняется. форма Objectname = models.ForeignKey (ObjectName, on_delete = models.CASCADE) ActionName = ChainedForeignKey (ActionObject, chained_field = "Objectname", chained_model_field = "Objectname", show_all = False, auto_choose = True, вроде = True) приоритет = models.ForeignKey ( Приоритет, on_delete = models.CASCADE) base.html Шаблон: Основа -> {% статическая нагрузка%} {% блок тело%} {%}% концевого блок Приоритет шаблон: {% распространяется '' base.html%} {% блок тело%} Добавить Priority {% csrf_token%} {{form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняется. форма CASCADE) ActionName = ChainedForeignKey (ActionObject, chained_field = "Objectname", chained_model_field = "Objectname", show_all = False, auto_choose = True, вроде = True) приоритет = models.ForeignKey (приоритет, on_delete = models.CASCADE) base.html Шаблон: Base -> {% статическая нагрузка%} {% блок тело%} {%}% концевого блок Приоритет шаблон: {% распространяется 'base.html' %} {% блок тело%} Добавить Priority {% csrf_token%} { {form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняются. форма CASCADE) ActionName = ChainedForeignKey (ActionObject, chained_field = "Objectname", chained_model_field = "Objectname", show_all = False, auto_choose = True, вроде = True) приоритет = models.ForeignKey (приоритет, on_delete = models.CASCADE) base.html Шаблон: Base -> {% статическая нагрузка%} {% блок тело%} {%}% концевого блок Приоритет шаблон: {% распространяется 'base.html' %} {% блок тело%} Добавить Priority {% csrf_token%} { {form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняются. форма сортировать = True) приоритет = models.ForeignKey (приоритет, on_delete = models.CASCADE) base.html Шаблон: Base -> {% статическая нагрузка%} {% блок тела%} {%}% концевым блоком Приоритет шаблона: {% продолжается 'base.html' %} {% блок тело%} Добавить Priority {% csrf_token%} {{form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняется. форма сортировать = True) приоритет = models.ForeignKey (приоритет, on_delete = models.CASCADE) base.html Шаблон: Base -> {% статическая нагрузка%} {% блок тела%} {%}% концевым блоком Приоритет шаблона: {% продолжается 'base.html' %} {% блок тело%} Добавить Priority {% csrf_token%} {{form.as_p}} Сохранить {%}% концевого блок поле Действия не заполняется. форма as_p}} Сохранить {%}% концевого блок Поле Действия не заполняется. форма as_p}} Сохранить {%}% концевого блок Поле Действия не заполняется. форма
Avarika Giri
0

голосов
0

ответ
68

Просмотры

Как получить один запрос из двух моделей?

У меня есть две модели: класс ModManager (models.Manager): Защиту MyFilter (самость, опции = DICT ()): если options.has_key ( 'not_image'): kwargs [ 'image__isnull'] = False возврата self.filter (** kwargs) класс Model_1 (models.Model): ... объекты = MyManager () класс Model_2 (models.Model): что-то = models.ForeignKey (Model_1) something_else = ... ... Как получить все данные из Model_2 связанных чтобы Model_1 в MyManager? Я хочу, чтобы получить один запрос. У меня до сих пор: в Model_1: Защита get_model_2 (сам): self.model_2_objs = self.model_2_set.all () Но это порождает много запросов, когда звонит get_model_2 функцию.
Nips
2

голосов
0

ответ
1k

Просмотры

Categories and sub-categories in django

У меня есть сущность продукции, категории и подкатегории. Категория может иметь много продуктов, а также категория может иметь множество подкатегорий. Например, продукт под названием Iphone-4 может упасть на смарт-телефон подкатегорий Электроника и гаджеты Категория. Similiary продукт Samsung может упасть на тот же смартфоны подразделов Электроники и гаджет Категории. Как я могу показать это соотношение эффективно? Вот что я сделал класс Категория (models.Model): имя = models.CharField (max_length = 80, нуль = True) родительское = models.ForeignKey ( 'я', пустой = True, нуль = True, related_name = "дети" ) класс Мета: unique_together = ( 'родитель',) verbose_name = 'Категория' verbose_name_plural = 'категории' продукт класса (models.Model): маркер = models.CharField (по умолчанию = token_generator, max_length = 20, уникальный = True, редактируемые = False) категория = models.ForeignKey (категория) компании = models.ForeignKey (Компания, related_name = "company_product") имя = models.CharField (max_length = 200, нуль = True) модель = models.CharField (max_length = 100, пустой = True, нуль = True) спецификация = models.TextField (нуль = True, пустой = True) цена = models.PositiveIntegerField (по умолчанию = 0) admin.py класс ProductAdmin (admin.ModelAdmin) : list_select_related = ( 'категория', 'компания',) класс Meta: модель = класс продукта CategoryAdmin (admin.ModelAdmin): list_select_related = ( 'родитель') list_display = ( 'имя', 'родитель') класс Meta: модель = Категория таким образом, в моем администратора, категории и подкатегории показаны так неопределенно. Категория Электроника & Устройства показано несколько раз. Показано, в соответствии с числом суб-категории, которая подпадает под эту категорию. Является ли это ожидаемое поведение или должно справиться с этим другим эффективным способом?
milan
1

голосов
0

ответ
194

Просмотры

Ошибка миграции rest_framework.authtoken приложение

Я не в состоянии установить rest_framework.authtoken приложение в пользовательской модели пользователя. В таблице модель пользователя присваивается имя пользователя с db_table = u'user. При выполнении миграции rest_framework.authtoken дает ошибку Running миграции для authtoken: - Переход вперед к 0001_initial. authtoken: 0001_initial FATAL ERROR - Следующий SQL-запрос не удалось: ALTER TABLE "authtoken_token" ADD CONSTRAINT "user_id_refs_id_14b35167" FOREIGN KEY ( "user_id") ЛИТЕРАТУРЫ "users_user" ( "ID") откладываемые INITIALLY DEFERRED; Ошибка: отношение «users_user» не существует ошибка в миграции: authtoken: 0001_initial DatabaseError: отношение «users_user» не существует настройки сконфигурированы в setting.py с AUTH_USER_Model = «users.User». В таблице в базе данных существует с именем user.But, до сих пор я получаю сообщение об ошибке. Может кто-нибудь указать на мою ошибку. Спасибо.
Bipin Raut
1

голосов
0

ответ
242

Просмотры

Объект «» NoneType не subscriptable при помощи DJANGO смарт выбирает

от django.db моделей импорта из django.core.urlresolvers импорта из обратного django.utils импорт часового пояса из smart_selects.db_fields импорт ChainedForeignKey, ChainedManyToManyField, GroupedForeignKey # Создайте свои модели здесь. класс #DIRECTOR директор (models.Model): пол = (( 'M', 'мужчина'), ( 'F', 'Female'),) процентов = (( '1', 1), ( '2', 2), ( '3', 3),) статистика = (( 'Одиночный', 'Одиночный'), ( 'Married', 'Maried'), ( 'Отдельно', 'Отдельно'), ( 'Вдова', 'Вдова')) Firstname = models.CharField (max_length = 30, пусто = False) = models.CharField Lastname (max_length = 30, пусто = False) MiddleName = модели.
John Paul Mendoza
0

голосов
0

ответ
5

Просмотры

Есть ли select_related на уже queryed поле выполнить запрос SQL?

Предположим, что автомобиль имеет несколько колеса и колесо имеет один цвет. Есть ли третья строка выполняет запрос SQL? автомобили = Car.objects.prefetch_related ( 'wheel_set__color') для автомобиля в автомобилях: печать (car.wheel_set.color)
Louis Saglio
0

голосов
0

ответ
11

Просмотры

Как граф () ковшики?

В книге, что я, читая так, чтобы подсчитать количество тегов общего между несколькими сообщениями используются граф из django.db.models. Для тегов используется taggit. Но я совершенно запутался, как эта функция работает post_tags_ids = post.tags.values_list ( 'ID', плоский = True) similar_posts = Post.published.filter (tags__in = post_tags_ids) .exclude (ID = post.id) similar_posts = similar_posts .annotate (same_tags = Count ( 'метки')) order_by ( '- same_tags', '-publish'). [: 4] В моем случае, у меня есть несколько постов и каждый из них имеет две метки. Каждый пост разделяет только один тег с другими должностями. Я получаю список идентификаторов тегов, что пост, что я заинтересован в содержит. Тогда, согласно этому списку, я отфильтровывая другие сообщения. Затем я добавляю параметр same_tags для всех сообщений, считая тег, которые они имеют. Моя путаница здесь, как я сказал, у меня есть две метки в каждом посте, но magicaly здесь same_tag рассчитывает тот, который является количество тегов, которые размещают акции с поста моего интереса. Как это происходит? Вот мой тест в оболочке >>> сообщения [,,] >>> пост = Post.objects.get (рк = 1) >>> post_tags_ids = post.tags.values_list ( 'ID', плоский = True) >>> post_tags_ids [2, 3] similar_posts = Post.published.filter (tags__in = post_tags_ids) .exclude (ID = post.id) similar_posts [0] .tags.count () 2 >>> similar_posts = similar_posts.annotate ( same_tags = Count ( 'метки')) order_by ( '- same_tags', '- публиковать'). [: 4] >>> similar_posts [0] .tags.all () [,] >>> similar_posts [0]. same_tags 1 Как я получаю один для графа () в то время как у меня есть две метки? как я сказал, у меня есть две метки в каждом посте, но magicaly здесь same_tag рассчитывает тот, который является количество тегов, которые размещают акции с поста моего интереса. Как это происходит? Вот мой тест в оболочке >>> сообщения [,,] >>> пост = Post.objects.get (рк = 1) >>> post_tags_ids = post.tags.values_list ( 'ID', плоский = True) >>> post_tags_ids [2, 3] similar_posts = Post.published.filter (tags__in = post_tags_ids) .exclude (ID = post.id) similar_posts [0] .tags.count () 2 >>> similar_posts = similar_posts.annotate ( same_tags = Count ( 'метки')) order_by ( '- same_tags', '- публиковать'). [: 4] >>> similar_posts [0] .tags.all () [,] >>> similar_posts [0]. same_tags 1 Как я получаю один для графа () в то время как у меня есть две метки? как я сказал, у меня есть две метки в каждом посте, но magicaly здесь same_tag рассчитывает тот, который является количество тегов, которые размещают акции с поста моего интереса. Как это происходит? Вот мой тест в оболочке >>> сообщения [,,] >>> пост = Post.objects.get (рк = 1) >>> post_tags_ids = post.tags.values_list ( 'ID', плоский = True) >>> post_tags_ids [2, 3] similar_posts = Post.published.filter (tags__in = post_tags_ids) .exclude (ID = post.id) similar_posts [0] .tags.count () 2 >>> similar_posts = similar_posts.annotate ( same_tags = Count ( 'метки')) order_by ( '- same_tags', '- публиковать'). [: 4] >>> similar_posts [0] .tags.all () [,] >>> similar_posts [0]. same_tags 1 Как я получаю один для графа () в то время как у меня есть две метки?
R.Temur
0

голосов
0

ответ
8

Просмотры

Изменение свойства поля формы в «требуемого» с save_model в Django администратора

Я попытался все различные примеры и методы, которые я мог бы найти на переполнение стека для этого, и по какой-либо причине, не может получить эту работу должным образом. Так что в моем admin.py у меня есть UserForm и и UserAdmin. Исходя из условия, где логическое значение проверяется в форме, я хочу, чтобы изменить «необходимый атрибут» на несколько различных полей формы к «ложным», так что я могу эффективно экономить. Я использовал несколько различных заявления для печати, чтобы убедиться в том, что «требуется», на самом деле получение изменено ложным, когда условие выполняется, однако, когда я пытаюсь сохранить, он не позволит мне поля выделить и говорят, что они «повторно еще требуется. Это почти как save_model не волнует, как я изменить форму, что старая форма и ее «необходимые» атрибуты отвергая мои изменения. Спасибо за любую помощь! админ.
Dev
2

голосов
0

ответ
599

Просмотры

Django Admin - django-smart-selects OR Many to Many dynamic filtering with Foreign Keys

Хотел бы спросить, как добиться динамической фильтрации в Admin. Я знаю, как использовать Джанго смарт-выбирает в админ, но это работает, я думаю, только для FK не для многих ко многим моделям. Я хотел бы достичь, когда я создаю искусство в администраторе и выберите категорию было бы фильтровать только те художник, которые принадлежат к этой категории и дополнительно при выборе художника при создании искусства было бы фильтровать те коллекции, которые принадлежат к этому Художнику. Я могу сделать художников и коллекции для работы с Джанго-смарт-выбирает, но художников и категорий не потому, что многие-ко-многим. Пожалуйста помоги. Благодаря класс models.py Категория (models.Model): название = models.CharField (max_length = 200) title_url = models.SlugField (max_length = 200) Защита __unicode __ (Я): Возвращение класса self.title Исполнитель (models.Model): категория = модель.
Radek
2

голосов
0

ответ
1.6k

Просмотры

Просмотр не имеет атрибута «as_view» в Django

У меня есть только основной вид: класс MyView (View): Защита пост (самостоятельно, запрос, * арг ** kwargs): возвращение HttpResponseRedirect (обратная ( 'список')) и в моих привязках URL (г '^ моего ракурса / $», MyView.as_view (), имя = 'my_view'), но я получаю тип AttributeError объект 'MyView' не имеет атрибута 'as_view'. Каковы причины этого?
Jamgreen
4

голосов
0

ответ
163

Просмотры

Not required many-to-many relationship giving ValueError

У меня вопрос, где у меня есть не необходимый себя многие ко-многим, что при сохранении нового объекта в пустую Psql дб дает мне: Edit: Это когда я админ экономии, не считаем, что экономит модель. ValueError: «Видео: Teste» должен иметь значение для поля «from_video» до этого многие-ко-многим может быть использован. Это моя модель: класс Video (models.Model): название = models.CharField (max_length = 200, уникальный = True) подзаголовок = models.CharField (max_length = 400) с миниатюрами = models.ImageField (upload_to = 'видео / миниатюр' ) related_videos = models.ManyToManyField ( 'я', симметричен = False, пустой = True) Это моя функция сохранения: Защита сохранить (самостоятельно, * арг ** kwargs): если self.id не None: ** kwargs) Мой вопрос, почему не обязательное поле дает мне ValueError, когда нет ничего, чтобы быть добавлены на многие-ко-многим поле? И как я могу это исправить?
EVolpert
2

голосов
0

ответ
373

Просмотры

Джанго-арендатор-схемы: Перенос данных из общей схемы в несколько арендаторе схемы

Как перенести данные из общей схемы в несколько арендаторе схему с использованием Джанго-арендатор-схемы? У нас есть и SaaS изначально не использовать Джанго-арендатора-схемы, но общая база данных, Shared схемы захода на посадку. Теперь мы обнаружили Джанго-арендатор-схемы и решили, что это правильный путь. Проблема теперь, как перенести данные из одной общественной схемы к независимым схемам арендатора. Джанго-арендатор-схема документация говорит следующее: Примечание: база данные должны быть пустыми, если это первый раз, когда вы бежите эту команду. В моем существующем приложении, у меня есть таблица арендатора, к которому все остальные модели имеют ForeignKey, но все находится в общественной схеме. Я использую юг миграции. Теперь мне нужно перенести все этот арендатор данные для отдельных схем. Как сделать то же самое?
Bharathwaaj
4

голосов
0

ответ
880

Просмотры

Родовое один-к-одному отношение в Django

У меня есть модель изображения: Изображение Класса (models.Model): content_type = models.ForeignKey (ТипСодержимый) object_id = models.PositiveIntegerField () content_object = generic.GenericForeignKey () изображение = models.ImageField () У меня также есть модель, которая имеет поля класса MyModel (models.Model): логотип = models.ImageField () значок = models.ImageField () изображения = generic.GenericRelation (изображение) Я хочу логотип и значок, чтобы использовать родовое отношение изображения. Как я могу это сделать? Я использую общую модель изображения во многих моделях, так что должно быть общим отношением. Я просто хочу, чтобы использовать ту же модель для всех изображений, даже если это значки, картинки профилей или любые другие. Лучше всего было бы, если Джанго имел поле generic.GenericOneToOneRelation (Image) или что-то :-) Единственное решение, которое я могу думать о классе MyModel (models.Model): логотип = модели. ForeignKey (изображение) значок = models.ForeignKey (изображение) изображения = generic.GenericRelation (изображение), а затем выбрать логотип и значок после загрузки изображений и исключая логотип и иконку из изображений, когда я печать изображения, связанное с этой моделью. Будет ли это хорошее решение?
Jamgreen
3

голосов
0

ответ
60

Просмотры

Two different fields for GenericRelation in one model

I have one model with generic foreign key for several models in my project, which define images for these models: class GenericImage(models.Model): image = ImageField( ) content_type = models.ForeignKey( ContentType, on_delete=models.CASCADE, blank=True, null=True ) object_id = models.PositiveIntegerField( blank=True, null=True ) content_object = GenericForeignKey( 'content_type', 'object_id' ) I want provide two different links to this model, one with GenericRelation for main image and one GenericRelation for other images. class MyModel(models.Model): images = GenericRelation( GenericImage, ) main_image = GenericRelation( GenericImage, ) The first thing that comes to mind is add boolean field main_image to GenericImage model and override clean method: class GenericImage(models.Model): ... main_image = models.BooleanField( default=False ) def clean(self): obj = self.content_object if self.main_image and obj: if obj.images.filter(main_image=True).exists(): raise ValidationError('main image must be unique!') But it separate validation logic from main model and I'll have to change that boolean field every time when I want to change main_image. Is there any elegant solution for my problem or I don't need ContentType framework at all, m2m link with intermediate table will be better.
Ivan Semochkin
7

голосов
0

ответ
5k

Просмотры

Изменение файла перед сохранением в Django с помощью model.FileField

У меня есть model.FileField (upload_to = '% Y /% м /% d') поля. Это отлично работает; Однако, я хочу, чтобы переименовать файл на основе контекста пользователя загружает файл, прежде чем он будет сохранен. Есть ли способ модификации объекта запроса, прежде чем он сохранен для достижения этой цели? Я встречал людей с подобными проблемами, но ответы всегда указывать обратно к документации Django. Я попытался выяснить это с помощью документации, но не могу. Может кто-то предоставить код, чтобы показать горячий решить эту проблему? Заранее спасибо.
Przemek
2

голосов
0

ответ
2.6k

Просмотры

Как сделать глубокий клон модели объекта в Django?

Для того, чтобы сделать клон модели в Django, я могу использовать этот трюк: object.pk = None; object.save (); Предположим, у меня есть моделирующий, AB, и ABC. AB имеет внешний ключ A, ABC имеет внешний ключ AB. Теперь, если я хочу, чтобы сделать глубокий клон одного объекта А а, я должен сделать это следующим образом: Newa = DeepCopy (а) newa.pk = None newa.save () аЬ = AB.objects.get (а = ) newab = DeepCopy (аb) newab.a = Newa; newab.pk = Отсутствует newab.save () аЬс = ABC.objects.get (AB = AB) abc.pk = нет; abc.ab = newab; abc.save () Это много хлопот, если есть несколько уровней отношений. Есть удобный способ сделать это, как DELETE CASCADE в SQL, только для клона?
NeoWang
2

голосов
0

ответ
345

Просмотры

Django Admin - 'Cascading' field values based on another field value

Я пытаюсь выяснить, самый простой способ выполнить следующее: у меня есть «Категория» модель, «продукта» Модель с категорией ForeignKey, и «» ProductFeature стол EAV-стиле ссылки на ForeignKey продукта, функция ForeignKey, а значение столбца. Так быстро контур из моделей / отношений, связанных: Категория Feature.name Feature.default_value Product.category -> Категория ProductFeature.product -> ProductFeature.feature продукта -> Feature ProductFeature.value Я хотел бы что-то вроде следующего опыта в Django администратора панели : Пользователь создает новый продукт с помощью администратора приложения. На странице Добавить новую страницу продукта, он может выбрать категорию (уже есть это с по умолчанию Django ForeignKey ниспадающем), а затем на основе категории он выбирает, набор столбцов ProductFeature должен быть создан автоматически и показан, заполняется «DEFAULT_VALUE» для этих функций. (У меня уже есть дисплей для всех связанного ProductFeature столбцов на странице продукта с использованием TabluarInline виджета Джанго.) Так что я в основном хочу сделать, это автоматически добавлять строки в этот дисплей, когда поле категории изменено пользователем в админах добавить страницу. Что бы общий подход, чтобы сформировать что-то вроде этого? например Trigger отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) (У меня уже есть дисплей для всех связанного ProductFeature столбцов на странице продукта с использованием TabluarInline виджета Джанго.) Так что я в основном хочу сделать, это автоматически добавлять строки в этот дисплей, когда поле категории изменено пользователем в админах добавить страницу. Что бы общий подход, чтобы сформировать что-то вроде этого? например Trigger отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) (У меня уже есть дисплей для всех связанного ProductFeature столбцов на странице продукта с использованием TabluarInline виджета Джанго.) Так что я в основном хочу сделать, это автоматически добавлять строки в этот дисплей, когда поле категории изменено пользователем в админах добавить страницу. Что бы общий подход, чтобы сформировать что-то вроде этого? например Trigger отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) ) Так что я в основном хочу сделать, это автоматически добавлять строки в этом дисплее, когда поле категория изменен пользователем в админ добавить страницу. Что бы общий подход, чтобы сформировать что-то вроде этого? например Trigger отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) ) Так что я в основном хочу сделать, это автоматически добавлять строки в этом дисплее, когда поле категория изменен пользователем в админ добавить страницу. Что бы общий подход, чтобы сформировать что-то вроде этого? например Trigger отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) г Триггер отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта) г Триггер отображение некоторых строк по умолчанию / значений на основе изменения значения в другом поле формы на странице администратора для модели? Надеюсь, я объяснил себя хорошо, его усложнится (хотя я подозреваю, что достаточно общее требование для сайтов электронной коммерции стиле, где определенное по умолчанию EAV строки типа / ManyToMany должен быть автоматически создан на основе выбора типа / категории для элемента / продукта)
2

голосов
0

ответ
43

Просмотры

Комментирование атрибут не-модели в Django QuerySet

У меня есть модель событий, которая имеет ManyToManyField имени пользователей. Я хочу, чтобы все события с дополнительным атрибутом, который обозначает принадлежность конкретного пользователя к этому событию или нет. Класс события (models.Model): пользователи = models.ManyToManyField (Пользователь) # Ожидаемый формат кода пользователя = User.objects.get (ID = 1) события = // Печатаем запрос Event события [0] .your_event // Это должно быть Правда, если выше пользователь является частью этого события еще Ложный Вот код, который я пытался от django.db.models импорта случая, когда пользователь BooleanField = User.objects.get (ID = 1) Event.objects.annotate (your_event = Случай (когда (пользователи = пользователь, то = True), по умолчанию = False, output_field = BooleanField ())) Проблема с выше код: Если объект Event имеет несколько пользователей (пусть 4), то он возвращает 4 объекта, который your_event, как Ложные в трех объектов и правда в одном объекте. Но я хочу только объект для каждого события. Я считаю, что лучшее решение может существовать для этой цели.
SHIVAM JINDAL
2

голосов
0

ответ
70

Просмотры

Перемещение данных между базами данных в с незначительными изменениями

Вот что я хочу сделать: мне нужно перенести некоторые модели в другую базу данных, изменяя некоторые из его атрибутов. Подход, который я пришел с был установлен еще один параметр базы данных в моих БАЗАХ настройки под названием «производства». Тогда я это сделать: для cat_to, cat_from в category_names.items (): C_F = InRadarCategory.objects.get (имя = cat_from) c_t = InRadarCategory.objects.get (имя = cat_to) для объявления в InRadarAd.objects.filter (категория = C_F). ad.pk = None ad.category = InRadarCategory.objects.using ( 'производство') получить (имя = c_t.name) ad.save (с использованием = 'производства') Обратите внимание, что перед сохранением его в другая база данных, я изменить это категория атрибут с объектом, которая находится в другой базе данных. После этого, я пытаюсь протолкнуть его в по телефону сэкономить на экземпляре объявлений, но с использованием производственной базы данных. Это дает мне ошибку: экземпляр на базу данных «по умолчанию», значение в базе данных «производство» Джанго документы говорится здесь: Джанго в настоящее время не обеспечивает никакой поддержки внешнего ключа или многие-ко-многим, охватывающие нескольких баз данных. Если вы использовали маршрутизатор для разделения моделей с различными базами данных, любой внешний ключ и многие-ко-многим определяются этими модели должны быть внутренними по отношению к единой базе данных. Вопрос в том: Могу ли я на правильном пути, но не хватает что-то глупый? Есть ли альтернативный подход для достижения этой цели? Если вы использовали маршрутизатор для разделения моделей с различными базами данных, любой внешний ключ и многие-ко-многим определяются этими модели должны быть внутренними по отношению к единой базе данных. Вопрос в том: Могу ли я на правильном пути, но не хватает что-то глупый? Есть ли альтернативный подход для достижения этой цели? Если вы использовали маршрутизатор для разделения моделей с различными базами данных, любой внешний ключ и многие-ко-многим определяются этими модели должны быть внутренними по отношению к единой базе данных. Вопрос в том: Могу ли я на правильном пути, но не хватает что-то глупый? Есть ли альтернативный подход для достижения этой цели?
Patrick Bassut
2

голосов
0

ответ
390

Просмотры

Невозможно преобразовать модель объекта к Силе неявно

Похожий вопрос Джанго: «Не удаюсь преобразовать объект„Name“на ул неявного» на сохранение объекта .Это не работают для меня. Вот соответствующие модели. класс Автор (models.Model): Имя = models.CharField (max_length = 20) электронная почта = models.EmailField (verbose_name = 'электронная почта') Защита __str __ (Я): возвращение self.name класс Post (models.Model): автор = models.ForeignKey (Автор) название = models.CharField (max_length = 80) текст = models.TextField () created_date = models.DateTimeField (по умолчанию = timezone.now) published_date = models.DateTimeField (пустой = True, нуль = True ) Защита __str __ (Я): возвращение self.author.name Он встречает ошибку, когда self.author.name встречается. Сообщение об ошибке: «Не удается преобразовать«Author'object к Силе неявно».
Avais
2

голосов
0

ответ
60

Просмотры

Джанго, как сортировать DateField по заказу день месяца и не обращая внимания год?

MaxDate ': ул (datetime.datetime.now ()), потребности в ширине # Этот позиционирование})} Я использую самозагрузки DatePicker плюс виджет, чтобы выбрать дату. Может кто-нибудь помочь мне о том, как я могу получить желаемый результат в моих взглядах .py? Я чувствую, что-то нужно добавить в мой order.py, если и нужно, чтобы я что-нибудь добавить, то комментарии. PS: Я использую Django 2.0.6 версии
manjy
2

голосов
0

ответ
130

Просмотры

Джанго-Hvad и Джанго-модель-Utils comdined?

Я застрял немного с выбором Джанго пакетов, которые будут упрощать развивающийся процесс для меня: в настоящее время я использую Джанго-модель-утилиты для того, чтобы получить менеджер наследства и прочее. Сейчас я думаю о адресности какой-то другой пакет, чтобы помочь с переводом модели поля на несколько языков (> = 2), и Джанго-Hvad кажется правильный выбор. Ну, переосмысление модели полей и schememigration я могу получить с южной пакет, но что о требованиях от Hvad документации, говоря, что я должен использовать их менеджер (что противоречит с моим желанием использования Джанго-модель-Utils наследования менеджера). Позвольте мне показать некоторые из моего кода для того, чтобы понять, что у меня есть на данный момент: от настроек импорта django.conf из model_utils.managers импорта InheritanceManager класса UserProfile (AbstractUserProfile): объекты = InheritanceManager () on_site = OnSiteInheritanceManager () класс OnSiteInheritanceManager (InheritanceManager): Защита get_query_set (Я): возвращение супер (OnSiteInheritanceManager, самость) .get_query_set () фильтр (сайты = параметр конфигурация) .select_related () select_subclasses ().. И, как и следовало ожидать, у меня есть несколько типов профилей пользователей, по убыванию из UserPforile класса Как мне нужно изменить свою политику менеджеров, чтобы получить наследство от hvad.manager.TranslationManager? Любые другие советы для того, чтобы помочь мне решить модели многоязычных полей propblem? Заранее спасибо =) SITE_ID) .select_related (). Select_subclasses () И, как и следовало ожидать, у меня есть несколько типов профилей пользователей, по убыванию из UserPforile класса Как мне нужно изменить свою политику менеджеров, чтобы получить наследство от hvad.manager.TranslationManager? Любые другие советы для того, чтобы помочь мне решить модели многоязычных полей propblem? Заранее спасибо =) SITE_ID) .select_related (). Select_subclasses () И, как и следовало ожидать, у меня есть несколько типов профилей пользователей, по убыванию из UserPforile класса Как мне нужно изменить свою политику менеджеров, чтобы получить наследство от hvad.manager.TranslationManager? Любые другие советы для того, чтобы помочь мне решить модели многоязычных полей propblem? Заранее спасибо =)
2

голосов
0

ответ
30

Просмотры

дисплей пункт форма Джанго виджет

Я новичок в Django У меня есть Автор форма администратора, который содержит Внутристрочные несколько родственных форм при редактировании любого автора формы я хочу, чтобы отобразить только для чтения элемента связанных книг с ним в инлайн как путь. Я не могу найти способ, чтобы извлечь все связанные объекты и показать объект разметки. (Книга есть многие ко многим отношения корабль с автором) Вместо того, чтобы я использовал многодисковый выбор класса модели поле AuthorForm (FormCleanMixin): assoc_books = forms.ModelMultipleChoiceField (QuerySet = Books.objects.none (), требуется = False) класс AuthorAdmin ( ): защиту get_form (самостоятельно, запрос, OBJ = None, ** kwargs): если OBJ это не None: form.base_fields [ ''] assoc_books QuerySet = Books.objects.filter (авторы = obj.id) еще: форма. .base_fields.pop ( «assoc_books») я получаю выход в поле выбора. Есть ли способ, чтобы превратить его в пункт, где я могу также вставить некоторый HTML для it.I хочет перечислить каждую книгу своей собственной URL. / Администратор / книга // изменение, которое я попытался это, но якорь тег оленьего кожи класса дисплея listRelatedItemsField (forms.ModelMultipleChoiceField): Защита label_from_instance (я, объект): HTML = '' '% (имя) s' '' % { 'идентификатор ': obj.id,' имя ': obj.name} возвращение mark_safe (HTML) Могу ли я создать собственный виджет для этого. Пожалуйста помоги имя} возвращение mark_safe (HTML) Могу ли я создать собственный виджет для этого. Пожалуйста помоги имя} возвращение mark_safe (HTML) Могу ли я создать собственный виджет для этого. Пожалуйста помоги
ronit
2

голосов
0

ответ
53

Просмотры

Принеси ко многим объект отношения с условием

У меня модель альбома и альбом имеет много дорожки на нем, я хочу, чтобы получить купленные треки пользователя (из сущности альбома), я имею в виду, я хочу принести только треки, которые покупают пользователем, но когда наборы I запрос на сущности альбома, она возвращается все треки принадлежит альбом: album_list = Album.objects.filter (Q (track__orderitem__order__user = пользователь) и Q (track__orderitem__order__is_paid = True)) Но это query_set возвращает все треки альбомов, независимо покупке пользователем или нет. Любая идея?
Moe Far
2

голосов
0

ответ
571

Просмотры

Индекс SQL на Django Generic Relation

Можно ли / целесообразно создать индекс SQL на GenericForeignKey в модели Django? Я хочу, чтобы выполнить поиск по большому количеству (~ 1 миллион) объектов в моей базе данных PostgreSQL. Мой поиск основан на GenericForeignkey на соответствующей модели, которая на самом деле хранится в виде двух полей: object_id (рк объекта, который в настоящее время связан с) и content_type (а FK к модели Джанго ContentType, представляющей тип объекта связан к). В терминах SQL это, по существу: WHERE ( «my_model» «content_type_id» = х и «my_model» «object_id» = у.). Object_ID не является уникальным полем - так как общий FK можно связать с несколькими моделями, ее возможно, что объекты разных типов будут иметь один и тот же рк. Я задаюсь вопросом, могу ли я ускорить мои времена запроса, создавая не уникальный индекс на my_model.object_id. Мое знание индексации ограниченно, поэтому я не правильно понял их использование, но я знаю, что Django автоматически создает индексы на нормальном ForeignKey отношений, поэтому я полагаю, есть связанное с ним убыстрение. Кто-нибудь имел никакого опыта создания индексов для GenericForeignKeys? Вы нашли в результате увеличения производительности? Любая помощь или понимание очень ценится.
Jonathan Evans
3

голосов
0

ответ
444

Просмотры

Крепление памяти Течь в Django + Scikit учиться

Как диагностировать и устранять утечки памяти, связанные с Django и Scikit учиться? Я работаю по команде управления Джанго, который готовит несколько текстовых классификаторов, реализованных с использованием scikit учиться. Я использую все уловки, которые я знаю, чтобы подключить утечки памяти Django, в том числе: Установка DEBUG = False Использование .iterator () для QuerySet итерации использования .defer ([столбцы]), чтобы предотвратить огромные значения столбцов из излишне загружен. Очистка кеша querysets периодически вызывая MyModel.objects.update (). Вручную вызывая GC.Collect (), чтобы ускорить сбор мусора. Эти методы решить все мои проблемы утечки памяти с долгоиграющими процессами Django в прошлом. Тем не менее, я по-прежнему наблюдаем массовую утечку памяти с scikit учиться, подразумевая проблему не может быть с Django. Мой процесс выглядит в основном, как: tmp_debug = settings.DEBUG настройки. ОТЛАДКА = tmp_debug Каждый объект документ содержит несколько страниц текста (в поле «текст»). У меня есть около 50 записей документов, и после разбора 5 документов, скрипт потребляет около 4 Гб оперативной памяти, имея постоянно увеличивается с течением времени. Есть ли способ, что я могу диагностировать и устранить эту утечку памяти, короткий бежать мой сценарий один раз для каждого документа?
Cerin
2

голосов
0

ответ
33

Просмотры

Джанго модель ассоциативной таблицы в базе данных унаследованных

Поскольку Django не поддерживает составные первичные ключи, что является оптимальным для реализации модели для ассоциативного (или соединения) таблиц? У меня есть таблица, которая отображает user_id к user_type_id с образованием составного первичного ключа пара. Поле пользователя и user_type были первоначально оба ForeignKey классов, но переводчик дал намек на использование OneToOneField вместо этого. Я не получаю никаких предупреждений с кодом ниже. Является ли это надлежащим образом реализовать таблицу? Класс UserUsertype (models.Model): пользователь = models.OneToOneField ( 'User', on_delete = models.DO_NOTHING, db_column = 'user_id', primary_key = True) user_type = models.ForeignKey ( 'UserType', on_delete = models.DO_NOTHING, db_column = 'user_type_id ') класс Meta: db_table = 'user_userType' unique_together = ((' пользователь'
maratac
2

голосов
0

ответ
26

Просмотры

Джанго модель пользователя Ошибка обновления FileField

NOT NULL ограничение не удалось: project_app_profile.user_id Так что я делаю что-то неправильно, просто не могу видеть, что. в любом случае, спасибо за любую помощь вы можете предоставить.
Zealot91
4

голосов
0

ответ
604

Просмотры

Django many to many admin with custom through object

позволяет предположить, что у меня есть такая модель: от django.db импортных моделей класса Person (models.Model): Имя = models.CharField (max_length = 128) класс Group (models.Model): Имя = models.CharField (max_length = 128 членов) = models.ManyToManyField (Person, через 'членство' =) класс членства (models.Model): человек = models.ForeignKey (Person) группа = models.ForeignKey (Group) date_joined = models.DateField () invite_reason = модели. CharField (max_length = 64) класс Meta: db_table = mysql_membership Так мой в-середине выбирается таблица (и создан вручную) со мной. А теперь я хотел бы создать администратор с инлайн formset в для объектов группы. Так же, как это: класс MembershipInline (admin.TabularInline): модель = членство дополнительные = 1 класс GroupAdmin (admin.ModelAdmin): встраивает = (MembershipInline, ) Admin.site.register (группа, GroupAdmin) Проблема заключается в том, что, когда я пытаюсь получить форму редактирования для данной группы, я получаю эту ошибку: Тип Exception: OperationalError Exception Значение: (1054, «Неизвестный столбец«mysql_membership.id "в„списке полей“") Это мне понятно, так как первичный ключ в этой mysql_membership таблице представляет собой набор столбцов (вместо одной простой столбец primary_key): PRIMARY KEY (человек, группа, invite_reason) Я хочу, чтобы вы знали, что я не могу изменить схему базы данных. Как я могу включить formset для многих ко многим поля на основе обычая «через» стол / модель? Пожалуйста помоги. Кстати. Я использую пример из: https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#working-with-many-to-many-intermediary-models что, когда я пытаюсь получить форму редактирования для данной группы, я получаю эту ошибку: Тип исключения: OperationalError Исключение Значение: (1054, «Неизвестный столбец„mysql_membership.id“в" списке поля») Это мне понятно, так как первичный ключ в этой mysql_membership таблице набора столбцов (вместо одной простого столбца primary_key): пЕРВИЧНЫЙ кЛЮЧ (человек, группа, invite_reason) Я хочу, чтобы вы знали, что я не могу изменить схему базы данных. Как я могу включить formset для многих ко многим поля на основе обычая «через» стол / модель? Пожалуйста помоги. Кстати. Я использую пример из: https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#working-with-many-to-many-intermediary-models что, когда я пытаюсь получить форму редактирования для данной группы, я получаю эту ошибку: Тип исключения: OperationalError Исключение Значение: (1054, «Неизвестный столбец„mysql_membership.id“в" списке поля») Это мне понятно, так как первичный ключ в этой mysql_membership таблице набора столбцов (вместо одной простого столбца primary_key): пЕРВИЧНЫЙ кЛЮЧ (человек, группа, invite_reason) Я хочу, чтобы вы знали, что я не могу изменить схему базы данных. Как я могу включить formset для многих ко многим поля на основе обычая «через» стол / модель? Пожалуйста помоги. Кстати. Я использую пример из: https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#working-with-many-to-many-intermediary-models Как я могу включить formset для многих ко многим поля на основе обычая «через» стол / модель? Пожалуйста помоги. Кстати. Я использую пример из: https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#working-with-many-to-many-intermediary-models Как я могу включить formset для многих ко многим поля на основе обычая «через» стол / модель? Пожалуйста помоги. Кстати. Я использую пример из: https://docs.djangoproject.com/en/1.6/ref/contrib/admin/#working-with-many-to-many-intermediary-models
user2787543
2

голосов
0

ответ
30

Просмотры

Джанго QuerySet ИЛИ с различными аннотациями

Когда я получить два подмножества объектов из одной и той же модели класса MyModel и добавлять различные аннотации к каждому (что-то к первому, другой на второй - ни один из этих атрибутов не является полем в MyModel), я получаю странные результаты: прил = MyModel .objects q1 = mgr.filter (рк = 1) .annotate (что-то = \ djdm.Value ( "есть", output_field = djdm.CharField (нуль = True))) q2 = mgr.filter (рк = 2) .annotate (другое = \ djdm.Value (123, output_field = djdm.CharField (нуль = True))) QuerySet = q1 | q2 печати ([(obj.pk, GetAttr (объект, 'что-то', 'NO_something'), GetAttr (объект, 'другой', 'NO_other')) для OBJ в queryset.all ()]) С Django 2.1 на SQLite то, что я получаю: [(1, 'есть', 'NO_other'), (2, 'есть', 'NO_other')] Вопросы: Я хотел бы надеяться на None вместо первого «NOother». Есть ли способ сделать Django добавить другой столбец из q2 к q1 в OR? Второй «NO_other» разочарование. Где мои 123 аннотаций идти? Второй «есть» совершенно нелепо. Как можно что-то от q1, возможно, переползать к q2 ?? Это бессмысленно. То, что там происходит? Я уверен, что делает некоторые ошибки здесь (по крайней мере, я надеюсь на это), но какой? То, что там происходит? Я уверен, что делает некоторые ошибки здесь (по крайней мере, я надеюсь на это), но какой? То, что там происходит? Я уверен, что делает некоторые ошибки здесь (по крайней мере, я надеюсь на это), но какой?
Lutz Prechelt
3

голосов
0

ответ
212

Просмотры

Как присоединиться профиль пользователя на сообщения пользователей в Django?

В Django 1.7, я пытаюсь сделать панель пользователя, в котором Userprofile данные (как аватар, страна и т.д.), которые будут отображаться вместе с их темами. Вот мнение: Защита тема (запрос, topic_id): "" "Список сообщений в теме." "" Сообщения = Post.objects.select_related ( 'творец') \ .filter (тема = topic_id) .order_by (» созданный ") сообщения = mk_paginator (запрос, сообщений, DJANGO_SIMPLE_FORUM_REPLIES_PER_PAGE) тема = Topic.objects.get (рк = topic_id) topic.visits + = 1 topic.save () возвращает render_to_response (" myforum / topic.html», add_csrf (запрос , сообщения = сообщения, рк = topic_id, тема = тема), context_instance = RequestContext (запрос)) модель Топик: класс тема (models.Model): название = models.CharField (max_length = 100) описание = модель. {{Topic.creator.userprofile.name}} или {{topic.creator.userprofile.city}} ничего не отображается. Это происходит для всех полей, которые я пытаюсь извлечь из модели UserProfile, несмотря на то, что в базе данных профиль_пользователя строка для пользователя не пусто, и я могу получить поля в других представлениях. Я застрял на этом в течение нескольких дней, так очень ценю вашу помощь. Обновление: вот add_csrf, в случае, если это может иметь отношение Защиту add_csrf (запрос, ** kwargs): d = ДИКТ (пользователь = request.user, ** kwargs) d.update (CSRF (запрос)) возвращение г Я застрял на этом в течение нескольких дней, так очень ценю вашу помощь. Обновление: вот add_csrf, в случае, если это может иметь отношение Защиту add_csrf (запрос, ** kwargs): d = ДИКТ (пользователь = request.user, ** kwargs) d.update (CSRF (запрос)) возвращение г Я застрял на этом в течение нескольких дней, так очень ценю вашу помощь. Обновление: вот add_csrf, в случае, если это может иметь отношение Защиту add_csrf (запрос, ** kwargs): d = ДИКТ (пользователь = request.user, ** kwargs) d.update (CSRF (запрос)) возвращение г
Jand
2

голосов
0

ответ
407

Просмотры

создание неподписанных BigInt поле в Джанго модели

Я использую Python 2.7, Django 1.9.4 на Ubuntu 14.04 При определении модели, я не мог найти способ создания поля типа UNSIGNED BIGINT. Я проверил документацию. Я не думаю, что есть что-то вроде этого, которое кажется удивительным. Может быть, я что-то отсутствует. Затем я проверил источник на: https://github.com/django/django/blob/stable/1.9.x/django/db/models/fields/init.py линии 1883 года ... класс BigIntegerField фактически подписан vaue , Линия 912 ... AutoField является Integer Тогда я нашел (хак) способ сделать это (я не уверен, что это нарушило бы что-то позже): Может ли Django ORM хранить беззнаковое 64-разрядное целое число (так называемый ulong64 или uint64) в надежно бэкенд-агностиком образом? PS: Мастер филиал имеет нечто, называемое BigAutoField в строке 993 .. но он также подписал. https://github.com/django/django/blob/master/django/db/models/fields/init.
Blueraaga
2

голосов
0

ответ
459

Просмотры

Сериализация поля JSON ManyToMany в Django

У меня есть следующие модели: AffectedSegment, движение, метрический и RehabilitationSession В модели RehabilitationSession я порождающее JSONResponse их экземпляров. Это мои модели код: AffectedSegment модель класса AffectedSegment (models.Model): SEGMENTO_HOMBRO SEGMENTO_ESCAPULA = 'ESCAPULA' = SEGMENTO_CARPO_MUNECA 'HOMBRO' SEGMENTO_CODO = 'Codo' SEGMENTO_ANTEBRAZO = 'ANTEBRAZO' = '' CARPO_MUNECA SEGMENTO_MANO = SEGMENTO_CHOICES 'Mano' = (( SEGMENTO_ESCAPULA, u'Escápula '), (SEGMENTO_HOMBRO, u'Hombro'), (SEGMENTO_CODO, u'Codo '), (SEGMENTO_ANTEBRAZO, u'Antebrazo'), (SEGMENTO_CARPO_MUNECA, u'Carpo / Muñeca '), (SEGMENTO_MANO, U 'Mano')) = affected_segment модели. corporal_segment_associated», verbose_name = '') метрик = models.ManyToManyField (Metric, пусто = True, verbose_name = 'Movimiento Метрики') В моем views.py я генерирующий JSONResponse для RehabilitationSession экземпляров этого пути ... ** Это важно помнить, что в списке данных, которые я послал в моем шаблоне list.html здесь, являются полями affected_segment, движение и метрики, которые имеют ManyToMany отношения с другими моделями django.shortcuts импортируют делают из django.views.generic импорта ListView из .models импорт RehabilitationSession из django.http импорта JsonResponse # Создайте свои взгляды здесь. классового RehabilitationSessionsListView (ListView): модель = RehabilitationSession template_name = 'list.html' Защиту получить (я, запрос, * арг, ** kwargs): самостоятельно. ▼ Местные вары самостоятельно kwargs формата запрос переменного Значения 'JSon {} арга () /home/bgarcial/workspace/neurorehabilitation_projects/medical_encounter_information/views.py в возвратных json_to_response JsonResponse (данные, сейф = False) ... ▼ Местные вары значения переменного самостоятельно данных [{ 'affected_segment': 'date_session_begin': datetime.datetime (2016, 3, 3, 21, 16, 19, tzinfo =), 'date_session_end': datetime.datetime (2016, 3, 3, 21, 16 , 19, tzinfo =), 'game_levels': «1. Escapando-де-ла-Неф Espacial ' 'Игры':' 1. Bonso ' 'идентификатор': 6, '' итераций: 0, 'медицинский': 'Пабло Андрес Агудело Marenco', 'наблюдения': 'Медицинские персональные специализированные соображения', 'пациент':' Сара Мария Салазар Санчес ' 'период': 'Por definirse', 'статус': 'Planeada', 'терапевту': 'Кристиан Андрес Диас Леон', 'upper_extremity': [ 'Extremidad выше DERECHA']}, {' affected_segment «:, 'date_session_begin': datetime.datetime (2016, 3, 3, 21, 16, 19, tzinfo =), 'date_session_end': datetime.datetime (2016, 3, 3, 21, 16, 19, tzinfo =) , 'game_levels': «1. Escapando-де-ла-Неф Espacial ' 'Игры':' 1. Bonso»,„идентификатор“: 7,„итераций“: 0,„медицинский“:„Пабло Андрес Агудело Marenco“,„наблюдения“:„Медицинские персональные специализированные соображения“,„пациент“:„Гельмут Треффтца Гомеса“,„период“ : 'Por definirse', '
bgarcial
2

голосов
0

ответ
630

Просмотры

почему PostGreSQL не может найти внешний ключ

Почему Джанго сообщает «пропущенная внешняя ошибка ключа» при создании записи, ссылающейся ключ только что создал? есть выглядеть этот код: Защиту doRegister (запрос, имя пользователя, адрес электронной почты, пароль): пользователь = User.objects.create_user (имя пользователя, адрес электронной почты, пароль) область = createWhereAvailable (пользователь) realm.save () возвращает редирект ( 'индекс' ) Защита createWhereAvailable (пользователь): #Some логик здесь ... Примечание: Realm расширяет Джанго модель возврат Realm (х = х, у = у, пользователь = пользователь, имя = generateRandomRealmName (х, у)) вид doRegister вызывает исключение в realm.save (): IntegrityError в / MYAPP / doregister ERREUR: ипе инструкция обновления вставки НУ сюр-ла стол «myapp_realm» Виоле ла contrainte де clé étrangère «user_id_refs_id_9302d6bb» ДЕТАЛЬ: La clé (user_id) = (8) n'est па Presente данс ла стол «myapp_user». которое может быть переведено как «ключ (user_id) = (8) не может быть найден в таблице myapp_user» Но запись в пользователя с идентификатором = 8 существует>> User.objects.get (ID = 8) Примечание: также, ид = 8 перерабатывается здесь. Как уже было дано в предыдущей записи, которая затем была удалена. Edit Даже Джанго администрация не может добавить запись Realm Отсносящийся этого пользователя. Но самое странное, что это нормально со старыми записями (ID = 1), которые не были утилизированы. Я подозреваю, что это может быть связано с утилизацией, так как некоторые люди испытывают схожие проблемы (дубликаты ключей): http://www.vlent.nl/weblog/2011/05/06/integrityerror-duplicate-key-value-violates-unique- ограничение / или IntegrityError продублировать значение ключа нарушает ограничение уникальности - Джанго / Postgres Я больше положенного о таблице ниже Вот выход из управления. ру SQL команды: BEGIN; CREATE TABLE "myapp_realm" ( "идентификатор" серийный NOT NULL PRIMARY KEY, "user_id" целое NOT NULL ЛИТЕРАТУРЫ "AUTH_USER" ( "ID") откладываемые INITIALLY DEFERRED, "имя" VARCHAR (30) NOT NULL, # ... некоторые другие поля раздели для consision); COMMIT; и вот сериализации таблицы из pgadmin: CREATE TABLE myapp_realm (ID серийник NOT NULL, user_id целое NOT NULL, имя персонажа варьируя (30) NOT NULL, # ... некоторые другие поля Constraint myapp_realm_pkey PRIMARY KEY (ID), скованность user_id_refs_id_9302d6bb FOREIGN KEY (user_id) СПИСОК ЛИТЕРАТУРЫ myapp_user (ID) MATCH Неизвестный ПО ОБНОВЛЕНИЕ никаких действий не DELETE NO ACTION откладываемые INITIALLY DEFERRED) С (OIDS = FALSE); ) Откладываемые INITIALLY DEFERRED, "имя" VARCHAR (30) NOT NULL, # ... некоторые другие поля раздели для consision); COMMIT; и вот сериализации таблицы из pgadmin: CREATE TABLE myapp_realm (ID серийник NOT NULL, user_id целое NOT NULL, имя персонажа варьируя (30) NOT NULL, # ... некоторые другие поля Constraint myapp_realm_pkey PRIMARY KEY (ID), скованность user_id_refs_id_9302d6bb FOREIGN KEY (user_id) СПИСОК ЛИТЕРАТУРЫ myapp_user (ID) MATCH Неизвестный ПО ОБНОВЛЕНИЕ никаких действий не DELETE NO ACTION откладываемые INITIALLY DEFERRED) С (OIDS = FALSE); ) Откладываемые INITIALLY DEFERRED, "имя" VARCHAR (30) NOT NULL, # ... некоторые другие поля раздели для consision); COMMIT; и вот сериализации таблицы из pgadmin: CREATE TABLE myapp_realm (ID серийник NOT NULL, user_id целое NOT NULL, имя персонажа варьируя (30) NOT NULL, # ... некоторые другие поля Constraint myapp_realm_pkey PRIMARY KEY (ID), скованность user_id_refs_id_9302d6bb FOREIGN KEY (user_id) СПИСОК ЛИТЕРАТУРЫ myapp_user (ID) MATCH Неизвестный ПО ОБНОВЛЕНИЕ никаких действий не DELETE NO ACTION откладываемые INITIALLY DEFERRED) С (OIDS = FALSE);
BiAiB
3

голосов
0

ответ
585

Просмотры

Создание таблицы базы данных для хранения критериев фильтрации в MySQL

У меня проблема. Я стучал головой о стену в течение 4 дней в настоящее время. Я знаю, что я что-то не хватает, но я просто не знаю, что это такое. Я пытаюсь сохранить определенный набор критериев фильтра. В основном пользователь моего сайта будет видеть страницу, где они могут выбрать различные критерии для фильтрации пользователей другого сайта (например Twitter). На странице, там будут основные критерии (который является выпадающим): 1) чирикнула в точке (в этом случае текстовое поле будет отображаться рядом с ней для ввода щебета ручки) 2) Если бы твиты больше, чем (в этом случае номер поля появится рядом с ним) 3) чирикнул между (и в этом случае два поля даты «от» и «до» появится рядом с ней) Таким образом, основной поток будет, как: 1) Пользователь выбирает «твиттере на» в качестве основных критериев 2 ) появится окно ввода текста рядом с ним 3) Пользователь вводит «Coldplay» 4) Список пользователей Твиттера, которые твиттер на Coldplay возвращается Уф! Хорошо, теперь проблема. Я не уверен, как сохранить критерии фильтра в таблице (скажем, названные фильтры). Я попытался следующие: Single Table нет = Col 1 - filter_id, Col 2 - имя фильтра, Col 3 - Tweeted_at (CharField), Col 4 - Нет: твитов (INT поля для 'было твитов более чем' вариант), Col 5 - FROM_DATE, Col 6 - to_date, Col 7 - User_ID. Проблема с этим, его я тоже не знаю, расточительно (?). Там всегда будет какое-то значение «NULL» в зависимости от основных критериев, выбранных. Это только кажется, что плохой дизайн, потому что, если я хочу, чтобы добавить новые критерии схема изменится. И я не думаю, что если бы у меня был хороший дизайн схема будет часто меняться. (В идеале только строки должны увеличивать / уменьшать не столбцы) Разделить на несколько таблиц: - 1) FilterInstance - Колонка 1 -Filter_id, Колонка 2 - Значение, Колонка 3 - UserId. 2) FilterDefinition - Колонка 1 - filter_id, Колонка 2 - FILTER_NAME, Колонка 3 - Тип. Проблема в том, что я не знаю, какой тип данных я должен поставить для «Value» в FilterInstance. Если я ставлю строку, то если тип данных дата, я должен был бы пойти в извлекая мм / дд / гггг вручную. Итак, еще раз, я застрял. Но это, однако исправить мою схему изменения проблемы. Таким образом, я хотел бы знать, как опытные люди будут разрабатывать структуру таблицы. Я знаю, что я что-то не хватает. Я просто не знаю, что это такое. Я в реализации этого Джанго, поэтому если у вас есть идея конкретной Джанго что бы нормально, а я думаю. Хотя в идеале, я бы хочу знать, есть ли какой-нибудь классный способ структурирования таблицы. Изменить: Я хотел бы также отметить, что я
artifex93
2

голосов
0

ответ
274

Просмотры

рамки Джанго остальных ValueError

Я learninig Джанго остальное рамки: аутентификации и-разрешения и наткнулся на ValueError: Невозможно назначить «[]»: «Zip.owner» должен быть экземпляром «Пользователь». Я получаю эту ошибку при попытке отправить запрос моего класса model.py Zip (models.Model): владелец = models.ForeignKey ( 'auth.User', related_name = 'молнии') застежка-молния = models.CharField (max_length = 96, ) состояние = models.CharField (MAX_LENGTH = 96, пусто = True) класс serializer.py ZipSerializer (serializers.ModelSerializer): zip_owner = serializers.PrimaryKeyRelatedField (много = True, QuerySet = Zip.objects.all ()) владелец = сериализаторов. ReadOnlyField (источник = 'owner.username') класс Мета: модель = Zip поля = ( 'ID', 'молния', 'состояние', 'zip_owner') view.py класс ZipMixin (объект): ValueError: Невозможно назначить «[]»: «Zip.owner» должен быть экземпляром «Пользователь». [06 / Mar / 2016 18:59:31] "POST / API / HTTP / 1.1" 500 SCREENSHOT 124621 Ошибка Любая помощь будет высоко ценится
Coeus