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

1

голосов
1

ответ
33

Просмотры

Найти модели, которые имеют только одну конкретную модель связанной

Рассмотрим следующие модели: класс продукта (models.Model): Имя = models.CharField (max_length = ...) класс Размер (models.Model): Имя = models.CharField (max_length = ...) продукция = models.ManyToManyField (продукт, через = ProductXSize, related_name = 'размеров', related_query_name = 'размер') класс ProductXSize (models.Model): продукт = models.ForeignKey (продукт, on_delete = models.CASCADE, related_name = 'productxsizes', related_query_name =» productxsize ') размер = models.ForeignKey (размер, on_delete = models.CASCADE, related_name =' productxsizes', related_query_name = 'productxsize') То, что я хотел бы достичь вдоль линий: для р в Product.objects.filter (размеры = [Size.object.get (...)]): ... То есть, найти продукты, которые имеют один размер и определенный в этом.
x-yuri
1

голосов
1

ответ
58

Просмотры

Как я могу получить группу текущего пользователя в forms.py в Django?

У меня есть сценарий, где мне нужно передать Groud имени авторизованного пользователя и получить пользователь списка в этой группе. forms.py - в коде ниже я должен передать группу пользователя вместо класса UpateTaskMaster (Бангалор forms.ModelForm): Защита __init __ (самостоятельно, * арг, ** kwargs): супер (UpateTaskMaster, самость) .__ INIT __ (* Args, ** kwargs) пользователи = User.objects.filter (groups__name = 'Banglore') self.fields [ 'процессор']. ВЫБОР = [(user.pk, user.get_full_name ()) для пользователей в пользователях] класс Meta (): модель = Надсмотрщик поля = [ "Sid", "TaskType", "task_title", "task_description", "центр обработки данных", "статус", "приоритет", "sourceincident", "processingteam", "DueDate",» ПИД-регулятора», "errorincident", 'процессор'
Mohamed Naveen
1

голосов
1

ответ
279

Просмотры

Джанго-tables2 как я обновить / обновить таблицу на веб-странице, не задев кнопку обновления

Я последовал за Джанго-tables2 официальный учебник и был в состоянии создать набор данных в терминале с помощью: Person.objects.bulk_create ([Person (имя = «Jieter»), лицо (имя = «Bradley»)]) Тем не менее, новый данные в таблице на сайте не отображается, пока я не нажал на кнопку обновления. Мой вопрос заключается в том, как таблица может быть обновлена ​​/ обновляется без какого-либо вмешательства человека на веб-странице. То, что я пытаюсь добиться, чтобы обновить таблицу на веб-странице без человеческого взаимодействия, как только новые данные поступают в систему. Я относительно новым для этого, любые предложения будут высоко оценены. Спасибо.
szd116
1

голосов
0

ответ
94

Просмотры

как обрабатывать mongoengine имя поля с «-» тире в Джанго models.py

Класс Patent_document (EmbeddedDocument): мета = { 'Коллекции': 'патент', 'строгого': Ложная} UCID = Стрингфилд (требуется = True) абстрактные = EmbeddedDocumentField (Abstract) Описание = EmbeddedDocumentField (Описание) библиографические данные = EmbeddedDocumentField (Bibliographic_data ) Мой файл JSON в MongoDB есть поля, которые имеют «-» (тире) в имени поля, которое вызовет ошибку в models.py в проекте Django. Как иметь дело с особым характером, такие как «-» в имени поля, чтобы сделать это правильно? введите описание изображения введите описание изображения здесь
Honggu
1

голосов
0

ответ
59

Просмотры

Django model Diamond multiple inheritance

Я веб-программирования стартера. Я делаю веб-программирование с Django. Я нашел проблему с моделированием. Ниже мой код. (Я писал об этом в Python 2.7.12.) Класс ImageModel (models.Model): класс пас FaceModel (ImageModel): Защиту сохранить (я, * арг, ** kwargs): печать "FaceModel" супер (FaceModel, самость). сохранить (* арг, ** kwargs) # Есть что-то супер (FaceModel, самость) .save () класса ObjectModel (ImageModel): защиту сохранить (самостоятельно, * арг ** kwargs): печать "ObjectModel" супер (ObjectModel, само ) .save (* арг, ** kwargs) # Есть что-то супер (ObjectModel, самость) .save () класса PlaceModel (ImageModel): защиту сохранить (самостоятельно, * арг ** kwargs): печать "PlaceModel" супер (PlaceModel , Я) .save (* арг ** kwargs) # Есть что-то супер (PlaceModel, самость). сохранить () класса AllModel (FaceModel, ObjectModel, PlaceModel): пройти Но, В результате значение, которое я хочу. Но есть одна проблема. FaceModel.save () вызовите один, ObjectModel.save () называют два и PlaceModel.save () звонить в четыре раза. Это слишком медленно. Я хочу, чтобы вызвать функцию Save () для каждой модели только один раз. Что я должен делать?
kepler92
1

голосов
1

ответ
174

Просмотры

В тесте Джанго есть пустое QuerySet, присвоенные переменные, но не пусто при печати в консоли во время отладки

Я отладки Django (1.11.8) тест и наблюдая странное поведение, при остановке в отладчик и переключился на IPython консоли ввода: Model.objects.all () возвращает непустое QuerySet. Однако, когда один и то же выражение присваиваются переменным, например: obj_qs = Model.objects.all (), а затем obj_qs пусто QuerySet. Я хотел бы ожидать того же результата с обоих утверждений. Я пропускаю что-то важное в настройках тестов? Я использую как setUpTestData () и нАлАдкУ () методы для инициализации объектов для теста.
izkeros
1

голосов
0

ответ
23

Просмотры

Django : changing a specific form in modelformset

Вот загадка. Это упрощенная версия этой проблемы я имею дело с, так, чтобы мы могли захватить основную проблему. Таким образом, для простоты и актуальности, а не все поля и отношения приведены здесь. Итак, у меня есть modelformset, и я хотел бы получить доступ к каждой отдельной форме для изменения поля на основе QuerySet. Класс PlayerType (models.Model): тип = models.CharField (MAX_LENGTH = 30, выбор = PLAYER_TYPES) ​​класс Player (models.Model): Имя = models.CharField (max_length = 30, пусто = False, нуль = False) player_type = models.ForeignKey (PlayerType, related_name = 'игроки') contract_price = models.DecimalField (max_digits = 10, decimal_places = 2, пусто = False, нуль = False) price_unit_of_measurement = models.CharField (MAX_LENGTH = 20, выбор = STANDARD_UOM) Формы. класс ру PlayerForm (ModelForm): Класс Meta: поля = [ «имя», «price_unit_of_measurement»] views.py PlayerFormSet = modelformset_factory (игрок, форма = PlayerForm, экстра = 5) Теперь предположим, что я хочу, чтобы отобразить различные единицы измерения в зависимости от того, какой игрок я показываю , Например, контракт игрок 1 может быть основан на единовременном или сумму за игру, и контракт другого игрока может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. price_unit_of_measurement '] views.py PlayerFormSet = modelformset_factory (игрок, форма = PlayerForm, экстра = 5) Теперь предположим, что я хочу, чтобы отобразить другую единицу измерения в зависимости от того, какой игрок я показываю. Например, контракт игрок 1 может быть основан на единовременном или сумму за игру, и контракт другого игрока может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. price_unit_of_measurement '] views.py PlayerFormSet = modelformset_factory (игрок, форма = PlayerForm, экстра = 5) Теперь предположим, что я хочу, чтобы отобразить другую единицу измерения в зависимости от того, какой игрок я показываю. Например, контракт игрок 1 может быть основан на единовременном или сумму за игру, и контракт другого игрока может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. экстра = 5) Теперь предположим, что я хочу, чтобы отобразить другую единицу измерения в зависимости от того, какой игрок я показываю. Например, контракт игрок 1 может быть основан на единовременном или сумму за игру, и контракт другого игрока может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. экстра = 5) Теперь предположим, что я хочу, чтобы отобразить другую единицу измерения в зависимости от того, какой игрок я показываю. Например, контракт игрок 1 может быть основан на единовременном или сумму за игру, и контракт другого игрока может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. s контракт может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы. s контракт может быть основан на количестве сыгранных минут, цена за месяц, и т.д. в зависимости от типа плеера. В сущности, я хотел бы знать, как получить доступ к каждой форме в modelformset и изменить единицы измерения для этой формы в одиночку, из-умолчанию в модели. Я также понимаю, что inlinemodelformset является более подходящим для этого применения в качестве игрока, связанного с PlayerType на один-ко-многим основы.
EarlyCoder
1

голосов
0

ответ
74

Просмотры

Поиск по ключевым словам и создание ссылок автоматически в Python и Django

Я создаю информацию веб-приложение (в Django), который часто использует некоторые медицинские термины. Медицинские термины и их объяснения, хранятся в отдельной модели / базы данных. В настоящее время, я вручную создавать ссылки на описания страниц для каждого медицинского термина. Мне было интересно, если есть способ, чтобы получить код автоматически поискаШлюпка содержания страницы для медицинских терминов, а также автоматически создавать ссылки (или Popovers) на их страницы описания. Все страницы являются динамическими, и медицинские термины хранятся в их собственной отдельной модели. До сих пор модель медицинских терминов не имеет отношений с любыми другими моделями Любых мыслями, если это может быть сделано (возможно через JS или Python), и если да, то как это сделать?
Raghav Suri
1

голосов
0

ответ
29

Просмотры

Может быть направлены заявления о модели?

Я пишу конфигурацию словари в свои модели. Мне нужно, чтобы получить доступ к пересылаемой декларации модели объявленной ниже модель им настройка прямо сейчас. Так, например класса FirstModel (models.Model): TYPE_MODEL = { 'типа1': SecondModel, 'TYPE2': ThirdModel} = models.CharField строку field (выбор = (( 'типа1', 'тип 1 дисплей'), ( 'TYPE2' 'тип 2 дисплея'))) Защита do_some_with_config (Я): модель = self.TYPE_MODEL.get (self.some_field) ... сделать что-то с моделью ... класс SecondModel (models.Model): ... его собственные поля ... класс ThirdModel (models.Model): ... свои собственные поля ...
Krystofee
1

голосов
0

ответ
56

Просмотры

Вложенные формы Джанго для ForeignKey модели

У меня есть две модели, которые выглядят как-то класс Address (models.Model): line1 = models.CharField (max_length = 128, help_text = "Адресная строка 1") город = models.CharField (max_length = 128) состояние = USStateField () почтовый индекс = USZipCodeField () класса Company (models.Model): имя = models.CharField (max_length = 100) = адрес models.ForeignKey ( 'адрес', on_delete = models.PROTECT) И я хотел бы, чтобы создать форму, которая выглядит примерно так ниже, хотя я понятия не имею, как сохранить адрес изнутри зрения без жесткого кодирования каждого отдельного поля изнутри зрения. Название Адрес Line1 Город Штат Zipcode Ближайший вещь, которую я придумал что-то вроде класса CustomForm (forms.ModelForm): Защиту __init __ (самоповреждения, * арг, ** kwargs): супер (CustomForm, самость) .__ Инициализационные __ (* арг,
1

голосов
1

ответ
407

Просмотры

Получить данные из двух таблиц с использованием внешнего ключа в Django

CASECADE) product_id = models.ForeignKey ( 'продукта', on_delete = models.SET_NULL, нуль = True, пусто = True) VENDOR_ID = models.ForeignKey ( 'Vendor', on_delete = models.SET_NULL, нуль = True, пустой = True) Защиту __str __ (самостоятельно): возврат self.vendor_id views.py класс VendorDetail (generics.RetrieveUpdateDestoryAPIView): QuerySet = Vendor.objects.all () serializer_class = VendorSerializer имя = 'Vendor-детали' Я хочу JSON ответ, как показано ниже. Кроме того, я хочу, чтобы поля, чтобы быть в том же порядке, как показано ниже: { "ID": 1, "имя": "группа-1" "пользователи": [{ "ID": 1, "электронная почта": «а @ gmail.com " "first_name": "myfirstname1", "last_name": "mylastname1"}, { "идентификатор": 2,"
Akshay Malhotra
1

голосов
1

ответ
461

Просмотры

Джанго фильтр QuerySet в шаблоне

Я все еще учусь в школе и до сих пор новый в языке и Джанго рамке Python и я пытаюсь делать проекты, чтобы узнать лучшие практики для этого. Сейчас я строю проект вроде следующего: Темы Model =>, который пользователь может написать новую тему Ответов Model => который пользователь может написать новый ответ на конкретную тему Нравится Model => который пользователь может проголосовать вверх или вниз на тему или ответить, это немного близко от StackOverflow сайта. Models.py класса Тема (models.Model): пользователь = models.ForeignKey (CustomUser, on_delete = models.CASCADE) название = models.CharField (max_length = 400), как = models.IntegerField (по умолчанию = 0) не нравится = models.IntegerField (по умолчанию = 0) изображение = models.FileField (пустой = True, нуль = True) created_date = models.DateTimeField (auto_now = True) Защита __str __ (Я): возвращение self.title [0: Пользователь и флаг ответа (до голосования, голосовать вниз)? Является ли структура приложения правильно?
dan
1

голосов
0

ответ
46

Просмотры

Джанго массового удаления удаляет только сто строк в то время,

У меня есть две модели с один ко многим отношения между ними: класс HomeCarrier (models.Model) short_name = models.CharField (max_length = 32, уникальный = True) класс CarrierZipCoverage (models.Model): zip_code = models.CharField (max_length = 5 ) home_carrier = models.ForeignKey ( 'HomeCarrier', NULL = True, пустой = True) Согласно документации Вы можете также удалять объекты в объеме. Каждый QuerySet имеет метод удаления (), который удаляет все элементы этого QuerySet. Согласно комментариям источника Функция удаления на самом деле 2 запросов - один, чтобы найти соответствующие объекты, и один для удаления. Я удивлён, когда я пытаюсь навалом удалить 27K почтового покрытия кодов перевозчика carrier.carrierzipcoverage_set.all (). Удалить () Я получил один запрос на удалении для каждой сотни строк в базе данных. В то время как я ожидал увидеть только один запрос на удаление в журнале MySQL для всех почтовых кодов покрытия в то время. Вопрос, есть ли способ, чтобы удалить все объекты из базы данных с одного удаления запроса, не прибегая к сырому SQL?
Daniil Mashkin
1

голосов
0

ответ
246

Просмотры

Как использовать приложение с таким же именем в Джанго

Я создал проект сказать Foo. И создал приложение с именем администратора. Но это вызывает django.core.exceptions.ImproperlyConfigured ошибки: метки приложения не являются уникальными, дубликаты: админ»Так что я прочитал это и сделал изменения, как указано там. Я пометил этикетку как foo.admin. Я не знаю точно, что метка, но, возможно, это уникальное имя, данное приложение, чтобы различать приложения с тем же именем в случае. Так это значит, что везде, где я должен использовать метку вместо имени? Но это вызывает другую ошибку. Строка ссылки модель должна иметь вид «app_label.ModelName». Таким образом, я использовал имя в качестве моделей foo.admin в ForeignKey параметра. Но та же ошибка появляется. Но ошибка не будет устранена. Я гугл ошибки и нашел это. Таким образом, я изменил ForeignKey параметра из foo.admin администратора. Но в любом случае, у меня эта ошибка. Короче говоря, я хочу спросить, как использовать приложение с тем же именем в том же проекте Джанго, как Какие файлы должны быть изменены и что писать ForeignKey параметров и т.д.? (Я использую Django 2.0)
Dead Pool
1

голосов
1

ответ
308

Просмотры

Django 2.0 - iexact переводит НРАВИТСЯ и не ILIKE

У меня есть модель, как это: класс статья (models.Model): название = models.CharField (max_length = 200) содержание = models.TextField () Класс Meta: db_table = 'статья' и я пишу запрос: статьи = ст. objects.filter (title__iexact = 'привет мир') печать (articles.query) выход: SELECT ... FROM `article` WHERE` article`.`title` LIKE привет мир Вы можете увидеть iexact переводится на LIKE. Но Джанго документация говорит, что будет переводить ILIKE, кто виноват? Кстати: мой MySQL сортировки utf8_bin. MySQL обслуживается на убунту. Код работает на окнах.
NunchakusHuang
1

голосов
0

ответ
44

Просмотры

Django migrations router databases

Миграция создает такую ​​же структуру аутентификации для двух баз данных. На стороне по умолчанию является таблицей Django по умолчанию, а с другой стороны, та же Джанго по умолчанию таблицы больше таблиц в выбранном шаблоне. Является ли это трюк? БАЗ = { 'по умолчанию': {}, 'DB1': {}} Маршрут ссылка док: https://docs.djangoproject.com/en/2.0/topics/db/multi-db/#topics-db-multi- дб-маршрутизация После миграции: manage.py мигрировать manage.py мигрирует --database = DB1 таблиц по умолчанию: - auth_group - auth_group_permissions - auth_permission - AUTH_USER - auth_user_groups - auth_user_user_permissions - django_admin_log - django_content_type - django_migrations - django_session столы DB1:
marcelo.delta
1

голосов
0

ответ
26

Просмотры

interface / inheritance model django

Я пытаюсь моделировать следующие в Django, но у меня возникли неприятности Город: Название: Str belongs_to_providence: Провиденс Провиденс: имя: ул belongs_to_country: Страна Страна: Название: Str язык: Str Proponsal: Название: Str affects_to: Город | Провиденс | Страна я пытался сделать это с помощью абстрактной модели, как показано на следующем: # счет / models.py класса CommonLocationInfo (models.Model): имя = models.CharField (max_length = 180, пусто = False) Защиту __str __ (Я): обратный класс self.name Meta: абстрактный класс = True Страна (CommonLocationInfo): язык = models.CharField (max_length = 120) класс Провиденс (CommonLocationInfo): страна = models.ForeignKey (Страна, on_delete = models.CASCADE, related_name = "belongs_to_country" ,
1

голосов
1

ответ
36

Просмотры

Heruko Django приложение error- Сайт не будучи загружен

Эй, ребята, я создал свой первый сайт Джанго! и я хочу, чтобы загрузить его через Heroku, я последовал за все, что они сказали мне, и я все еще получаю ошибку приложения, когда я пытаюсь сделать heruko открыть я получаю сообщение об ошибке приложения и, как я новичок в heruko я расстроен, чтобы получить ошибки ! Я обнаружил, что я получаю ошибку здесь, пока я сделать GIT мастер толчок heruko я получаю все готово, но небольшая ошибка после развертывания делается и ошибка: Counting объектов: 30, сделано. Сжатие Дельта с использованием до 2 потоков. Сжимая объекты: 100% (30/30), сделано. Пишущие объекты: 100% (30/30), 13,62 KiB | 422.00 KiB / s, сделано. Всего 30 (дельта 2), повторно 0 (дельта 0) удаленный: Сжимая исходные файлы ... сделано. удаленное: источник здания: удаленный: удаленный: -----> Python приложение обнаружено удаленным: -----> Установка пипа отдаленного: -----> Установка требования с пип пульта дистанционного управления: Пульт дистанционного управления: -----> $ питон manage.py collectstatic --noinput удаленный: 118 статические файлы, скопированные '/ TMP / build_d2ad5fb0675c6c8305a3ad0fb5 819fe4 / статический', 131 пост-обработки. удаленный: удаленный: -----> Открывать типы процессов дистанционного: PROCFILE объявляет типы -> (нет) удаленный: удаленный: -----> Сжимая ... удаленный: Готово: 54.3M удаленный: ----- > Запуск ... удаленный: Выпущенный v9 удаленный: https://kiran-portfolio.herokuapp.com/ развернуты на Heroku дистанционного управления: пульт дистанционного управления: Проверка развертывания ... сделано. Для https://git.heroku.com/kiran-portfolio.git dd0eec5..f9d7b19 мастер -> мастер ошибка: update_ref Сбой исх «ссылки / пультов ДУ / Heroku / мастер»: не может заблокировать исх 'ссылки / пультов ДУ / Heroku / мастер «: не удалось разрешить ссылку» ссылки / пультов ДУ / Heroku / м Ster ": ссылка сломана Я также думаю, что ошибка с PROCFILE, потому что я не знаю, что имя, которое мы должны ввести в wsgi.py, как указано ниже: сети: guincorn whatnameshouldiwrite.wsgi Я обнаружил, что мы должны написать свое имя приложения, но у меня есть два приложения в моем проекте и у меня есть другое имя для моего сайта Heroku и другого имени для моего проекта на моем компьютере так, имя которого я должен писать там? Бревна Heroku выглядит следующим образом: 2018-04-10T08: 14: 54.924974 + 00: 00 приложений [API]: Включение Logplex пользователем smschavan143 @ г mail.com 2018-04-10T08: 14: 54,924974 + 00: 00 приложения [API ]: v2 релиз, созданный пользователем smschavan1 [email protected] 2018-04-10T08: 14: 54,816584 + 00: 00 приложение [API]: v1 релиз, созданный пользователем smschavan1 [email protected] 2018-04-10T08: 14: 54.816584 + 00: 00 приложение [API]: Первый релиз пользователем smschavan143 @ gmail.com 2018-04-10T08: 15: 27.492135 + 00:
Kiran45
1

голосов
1

ответ
18

Просмотры

Коды ошибок «NameError„Пользователь“не определен» Я пытаюсь заполнить базу данных

Есть ли способ, чтобы проверить, была ли импортирована модель польз? Если да, то что я могу сделать в случае, если он не был правильно импортирован?
Masa
1

голосов
0

ответ
58

Просмотры

is_authenticated всегда Правда, даже после удаления сеансов всех пользовательских

Использование Django, я пытаюсь войти в систему из пользователя, но в стороне сервера, как я использую Django только для внутреннего интерфейса, как наш интерфейс разработан использованияКонтактная Reactjs + Node, и моя проблема связана, когда я пытаюсь войти в систему из пользователя. Это то, что я делаю для этого: от django.contrib.sessions.models импорта сессии для с в Session.objects.all (): данные = s.get_decoded (), если data.get ( '_ auth_user_id', None) = ули (user.id) =: s.delete () auth.logout (контекст) проблема заключается в том, что даже тогда, когда код выхода из системы выполняется, если я снова вызвать выход из системы API, user.is_authenticated всегда True. Что я должен сделать, чтобы получить Ложные без проверки таблицы Session вручную, чтобы обнаружить, если пользователь loged в я не? С уважением
1

голосов
1

ответ
328

Просмотры

Получить данные флажок и сохранить его в базе данных Джанго

Я создаю веб-сайт, где пользователи могут следить за запасами и посмотреть статьи, основанные на том, что они следуют. Я изо всех сил, чтобы получить представление, что позволяет пользователям выбирать, какие акции они хотят следовать за работу. models.py от импортных моделей django.db из django.contrib.auth.models импорта пользователя из импортного приемника django.dispatch из django.db.models.signals импорта post_save класса Шток (models.Model): имя = models.CharField (max_length = 50) тикер = models.CharField (max_length = 50) Защита __str __ (Я): возвращение класс self.name профиль (models.Model): пользователь = models.OneToOneField (пользователь, on_delete = models.CASCADE) followed_stocks = models.ManyToManyField (Фото, пустой = True) Защита __str __ (Я): возвращение self.user.username @receiver (post_save,
justin o
1

голосов
0

ответ
116

Просмотры

One-to-many inline select with django admin 2018 UPDATED

Я столкнулся с той же проблемой, как описано здесь или здесь. Короче говоря: у меня есть 2 модели: книги и Shelf. В админ форме ( «добавить полки») Я хотел бы, чтобы выбрать из книг, которые уже находятся в библиотеке. По умолчанию это не доступно. Я использовал решение (из ссылок выше) и все работает, пока я не пытаюсь «сохранить» новый объект. Ошибка: несохраненная экземпляра модели (Полка: ShelfAlpha) не может быть использован в запросе ОРМ. # Models.py класс Book (models.Model): полки = models.ForeignKey (Полка, пусто = True, нуль = True, related_name = "in_shelf") # admin.py класс ShelfForm (forms.ModelForm): класс Meta: модель = Полочные книги = forms.ModelMultipleChoiceField (QuerySet = Book.objects.all ()) защиту __init __ (самоповреждения, * арг, ** kwargs): супер (ShelfForm, самостоятельно) .__ Инициализационные __ (* Args, ** kwargs), если сам. пример: если self.instance.in_shelf: self.fields [ 'книга'] = начальная self.instance.in_shelf.all () еще.:. [] Защита сохранить self.fields [ 'книги'] = начальный (самоповреждения, * арг, ** kwargs): экземпляр = супер (ShelfForm, самость) .save (фиксации = False) self.fields [ 'книги'] initial.update (полка = None) self.cleaned_data [ 'книги'] обновление (полки =.. экземпляр) возвращает экземпляр Похоже, в 2014 году работал, но теперь это не так. Я был бы признателен за помощь! initial.update (полка = None) поля [ «книга»]. self.cleaned_data [ «книга»]. Обновление (полка = экземпляр) возвращает экземпляр Похоже, в 2014 году работали, но теперь это не так. Я был бы признателен за помощь! initial.update (полка = None) поля [ «книга»]. self.cleaned_data [ «книга»]. Обновление (полка = экземпляр) возвращает экземпляр Похоже, в 2014 году работали, но теперь это не так. Я был бы признателен за помощь!
Artur Bednarz
1

голосов
0

ответ
52

Просмотры

order_by не сортировать Swedish UTF-8 символов Aao правильно на рабочем сервере

Я испытываю некоторые проблемы с моим производством капельного @ DigitalOcean при сортировке querysets. Шведские символы Aao рассматривается как А и О, которая не ожидаются или желательно. Это работает локально. Я баловался с локалями на сервере, и они, кажется, хорошо. версия Django: 1,11 Python версии: 3.5.2 Если кто-то испытал и решить подобные проблемы, было бы здорово, чтобы услышать, как вы ее решили! Определение класс модели County (TimeStampedModel): Имя = models.CharField (max_length = 200, уникальный = True) Защита __str __ (Я): возвращение self.name Как сортируются QuerySet. County.objects.all (). Order_by ( 'имя')
oalsing
1

голосов
2

ответ
26

Просмотры

Ожидаемый отступ ошибка блока (Джанго)

Это мой код из __future__ импорта unicode_literals из django.db импортных моделей # Создайте свои модели здесь. класс Поста (models.Model): название = models.CharField () содержание = models.CharField () обновлен = models.DateTimeField (auto_now = True, auto_now_add = False) = отметка времени models.DateTimeField (auto_now = False, auto_now_add = True) защиту __unicode __ (Я): # возвращает self.title четкости __str __ (Я): возвращение self.title
shashanksen
1

голосов
0

ответ
45

Просмотры

Может Django ORM присоединиться на что-то другое, чем рк?

От: StartTable.objects.annotate (имя = F ( 'object_type_2__destination_table__name')) Django пишет запрос, содержащий это автоматически: (.. "START_TABLE" "object_type_2_id" = Т4 "ID") LEFT OUTER JOIN "объект" T4 ON LEFT OUTER РЕГИСТРИРУЙТЕСЬ «destination_table» ON (T4. «ID» = «destination_table». «object_id») есть ли способ иметь Django сделать это более эффективным, написав это вместо ?: РЕГИСТРИРУЙТЕСЬ destination_table ON destination_table.object_id = start_table.object_type_2_id Некоторые контекст иметь ввиду; START_TABLE имеет несколько внешних ключей поля, которые все относятся к одной и той же таблицы объектов, но по разным причинам, поэтому я дал object_type_2_id в качестве имени столбца.
J__
1

голосов
0

ответ
47

Просмотры

DRF M2M Nested Serializer Field Incorrectly Typed as String

Whenever I attempt to deserialize a list of Technology objects while creating a TechnologyStack I receive the message: Field \"technologies\" of type \"String\" must not have a sub selection. I'm using djangorestframework==3.8.2. Anyone know what's causing this and/or a potential solution? Also, please note that I'm using the graphene-django library. But, it seems this problem is attributable to the drf serializer. class TechnologyProfile(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) name = models.CharField(max_length=100, unique=True) class Technology(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) profile = models.ForeignKey(TechnologyProfile, blank=True, null=True, on_delete=models.CASCADE) class Meta: verbose_name_plural = "technologies" class TechnologyStack(models.Model): technologies = models.ManyToManyField(Technology, related_name='technology_stacks') class TechnologyProfileSerializer(serializers.ModelSerializer): user_id = RelayIdField() name = serializers.CharField() class Meta: model = TechnologyProfile fields = ('id', 'name', 'user_id') class TechnologySerializer(serializers.ModelSerializer): user_id = RelayIdField() profile = TechnologyProfileSerializer(many=False) class Meta: model = Technology fields = '__all__' class TechnologyStackSerializer(serializers.ModelSerializer): technologies = TechnologySerializer(many=True) class Meta: model = TechnologyStack read_only_fields = ('id',) fields = '__all__'
lgants
1

голосов
0

ответ
71

Просмотры

Django ORM исключить не удается

У меня есть некоторые проблемы с моим запросом - с фильтром () это нормально, но с исключением () не работает. Мои модели: класс Dictionary (DateTimeModel): base_word = models.ForeignKey (BaseDictionary, related_name = _ ( 'dict_words')) слово = models.CharField (max_length = 64) версия = models.ForeignKey (Version) класс FrequencyData (DateTimeModel): слово = models.ForeignKey (словарь, related_name = _ ( 'frequency_data')) = кол models.BigIntegerField (нуль = True, пустой = True) Источник = models.ForeignKey (Источник, related_name = _ ( 'frequency_data'), нуль = Правда, пустой = True) пользователь = models.ForeignKey (settings.AUTH_USER_MODEL, related_name = _ ( 'frequency_data')) user_ip_address = models.GenericIPAddressField (нуль = True, пусто = True) date_of_checking = models.DateTimeField (нуль = True, пусто = True) is_checked = модели. BooleanField (по умолчанию = False) И я хочу, чтобы получить какое-то слово из словаря, где частоты которых не от какого-либо пользователя Dictionary.objects.prefetch_related ( 'frequency_data') фильтра (frequency_data__user = 1). [: 100] - OK Dictionary.objects. . prefetch_related ( 'frequency_data') исключить (frequency_data__user = 1) [100] - процессор до 100% и загрузку Без prefetch_related то же самое. Что с исключить? ED словарь дб Tabel - 120k строк FrequencyData - 160k строки EDIT2 PSQL (9.6.6) 100] - процессор до 100% и загрузки Без prefetch_related то же самое. Что с исключить? ED словарь дб Tabel - 120k строк FrequencyData - 160k строки EDIT2 PSQL (9.6.6) 100] - процессор до 100% и загрузки Без prefetch_related то же самое. Что с исключить? ED словарь дб Tabel - 120k строк FrequencyData - 160k строки EDIT2 PSQL (9.6.6)
Mike Br
1

голосов
1

ответ
286

Просмотры

Nested Serializer for Many to Many

I am new to Python and Django. I am creating api using Django-Rest-Framework I want to serializer data that can accept json in below format: { "ingredients": ["Sugar","Egg"], "name": "Cake", "description": "Dinner Food", "directions": "direction1" } However I am able to persist data in db with below format: { "ingredients": [{"name":"Cake"},{"name":"Egg"}], "name": "Rice", "description": "Dinner Food", "directions": "direction1" } I am not sure how can I convert dictionary in to the set field. I am aware of List field and list serialiser but not sure how to use them. Is it possible to do this using model serialiser? Serializer.py class IngredientSerializer(serializers.ModelSerializer): class Meta: model = Ingredient fields = '__all__' class RecipeSerializer(serializers.ModelSerializer): ingredients = IngredientSerializer(many=True) class Meta: model = Recipe fields = '__all__' def create(self, validated_data): ingredients_data = validated_data.pop('ingredients') print(ingredients_data) recipe = Recipe.objects.create(**validated_data) for ingredient in ingredients_data: ingredient, created = Ingredient.objects.get_or_create(name=ingredient['name']) recipe.ingredients.add(ingredient) return recipe Model.py class Ingredient(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name class Recipe(models.Model): name = models.CharField(max_length=100) description = models.TextField(blank=True, null=True) directions = models.TextField() ingredients = models.ManyToManyField(Ingredient) def __str__(self): return self.name view.py class RecipieView(viewsets.ModelViewSet): queryset = Recipe.objects.all() serializer_class = RecipeSerializer class IngredientView(viewsets.ModelViewSet): queryset = Ingredient.objects.all() serializer_class = IngredientSerializer
G. P
1

голосов
1

ответ
56

Просмотры

Изображение представить повышение ValidationError

Когда я подав JPG изображение, то оно обновляет и показывает «Этой ошибки required'validation поле, поэтому в представлениях я пытался напечатать (request.POST), он показывает csrfmiddlewaretoken и рис в консоли, но проверки поля становятся нарушаются. Пожалуйста, поправьте меня. models.py от django.db импортных моделей класса изображения (models.Model): рис = models.ImageField (upload_to = 'документы /') forms.py от Джанго импорта форм из .models импортировать изображения класса pictureForm (forms.ModelForm): класс Meta: поля модели = картинка = [ «ПИК»] views.py из django.shortcuts импорта визуализации, перенаправление с .models импортировать изображение из .forms импорта pictureForm # Создать свою точку зрения здесь. Защиту pictureView (запрос): если request.method == 'POST': печать (request.POST) форма = pictureForm (request.POST), если форма. is_valid (): form.save () возвращает перенаправление ( '/') остальное: форма = pictureForm () возвращают визуализации (запрос, 'home.html', { 'форма': форма}) urls.py (APP адреса уровня) от django.urls импорта путь из. импорт просмотров urlpatterns = [путь ( «», views.pictureView, имя = «дом»)] (URLs уровне каталогов) urls.py из django.contrib импорта админ из django.urls импортируют путь, включают в себя от настроек django.conf импорта из django.conf.urls.static импорт статического urlpatterns = [путь ( '/' администратора, admin.site.urls), путь ( '', включает в себя ( 'post.urls'))], если settings.DEBUG: urlpatterns + = статическая (settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) медиа файлы MEDIA_URL = '/ СМИ /' MEDIA_ROOT = os.path.join (base_dir, 'СМИ'
1

голосов
1

ответ
69

Просмотры

Match string with database in django

A user will come on website and fill the registration form. Registration form has a question displayed below Which subjects you want to study? Answer by user - I want to study Hindi and english sentence="I want to study Hindi and english" I have 2 database displayed below. Now the answer by the user should match with the one database table with maximum accuracy , The database table matching with maximum accuracy should get selected . I am not able to match with accuracy and if the users write in a different way like I am studying hindi and english I want to study hindi and english . The above 2 sentences means the same but proper matching with database table is not being done by me properly. Kindly help me to resolve this issue. Database: Class_A id subject 1 Hindi 2 English 3 Physics Class_B Id subject 1 Hindi 2 Math 3 Science view.py def submission(request): obj = Registration.objects.latest('id') obj1 = Registration.objects.filter(name__contains=obj1) for a in obj1: sentence= a.subject word = sentence.split() class_a=class_A.objects.all() class_b=class_B.objects.all() if class_a in word: return render(request,'data/submission.html',{'Class':'Your Are in Class A'}) elif class_b in word: return render(request, 'data/submission.html', {'Class': 'You are in Class B'}) Registration is user registration database table.
Rahul Saini
1

голосов
0

ответ
74

Просмотры

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

Я создаю сайт с Django с помощью Rest Framework, она позволяет пользователям изменять или создавать новые объекты, вроде как Wikipedia, где любой желающий может внести изменения, но он должен пройти через процесс, который будет принят. Я понимаю поведение по умолчанию для управления версий, чтобы сохранить предыдущие изменения, но я хотел бы использовать Django-реверсию или библиотеку, чтобы следить за возможные будущие версии моих моделей. (Пока они не одобрены отдельными пользователями) Дело в том, поведение по умолчанию в Джанго-реверсии является то, что мы должны внести изменения в нашу модель объекта, чтобы создать новую версию, я бы вместо этого хотел бы создать новую версию, а затем, если принято выбранные пользователи, применить изменения к объекту. Мой вопрос: как я могу создавать версии модели без изменения исходного объекта? Я до сих пор убежище» т вполне понять концепцию пересмотра блоков, поэтому я могу задать этот вопрос. Если вы думаете, что есть лучшая альтернатива к моей проблеме, я открыт для предложений Ссылка на Джанго-реверсии репо: https://github.com/etianen/django-reversion
1

голосов
2

ответ
27

Просмотры

Как суммировать по вычисленной переменной в Джанго?

У меня неприятности найти решение следующей простой задачи. . Следующая команда tenta_data = Konstruktion.objects.all () аннотирования (TID = Sum (F ( 'Антал'))) работает отлично, если Антал является переменной в базе данных: класс Konstruktion (models.Model): Антал = модели. FloatField () .... Защита anumber (Я): возвращение ..... но как мне делать, если я хочу просуммировать anumber? Какая функция.
anders
1

голосов
1

ответ
151

Просмотры

Django Generic Factory

I have two questions that bother me. I'm facing an implementation where some document are related to different level of geodata and would like a factory to generate them. Let's see an example how I thought it may work: from django.contrib.gis.db import models class Country(models.Model): name = models.CharField(max_length=60) class Region(models.Model): country = models.ForeignKey(Country, on_delete=models.PROTECT) name = models.CharField(max_length=60) class Law(models.Model): text = models.CharField(max_length=60) class Meta: abstract = True class CountryLaw(Law): country = models.ForeignKey(Country, on_delete=models.CASCADE) class RegionLaw(Law): region = models.ForeignKey(Region, on_delete=models.CASCADE) # Not sure this work but the idea is here class LawManager(models.Manager): def create_law(text,geodata): if isinstance(geodata, Country): return CountryLaw(text=text, country=geodata) elif isinstance(geodata, Region) return RegionLaw(text=text, region=geodata) else: raise TypeError("Inapropriate geodata type") I would like some factory method because I have some work to fill the fields of the "Law" that is common to all law, but this example doesn't show it. My question are the following : Is there a better way to design Law objects ? Would such a manager work ? How could I access it ? I search on google and stackoverflow for answer, but don't know what keyword to use and didnt found anything that could help me.. thanks for your help !
Merichbier
1

голосов
0

ответ
69

Просмотры

Ошибка целостности вызвано сигналом: Джанго админ

У меня есть стандартная модель UserProfile, которая имеет OneToOneField поля для модели auth.User. Каждый пользователь должен иметь один и только один UserProfile, поэтому мне нужно UserProfile объект, который будет создан при ВСЕГДА Пользователь создан. Очевидное решение состоит в создании post_save Сингаля: @receiver (post_save, отправитель = User) Защита create_user_profile (отправитель, экземпляр, созданный, ** kwargs): если создано: UserProfile.objects.get_or_create (пользователь = экземпляр) ПРОБЛЕМА: Этот подход работает, когда пользователь зарегистрирован себя или когда пользователь был создан программно (например, с помощью оболочки). Проблема заключается в том, когда пользователь создается с помощью Джанго-администратора. Она поднимает: продублировать значение ключа нарушает ограничение уникальности "main_userprofile_user_id_key" ДЕТАЛЬ: Key (user_id) = (30), уже существует. Я' Ве добавил UserProfile встроенный в страницу пользователя администратора, который означает, что существуют две формы - для создания пользователя и для создания UserProfile. admin.site.unregister (Пользователь) Класс UserProfileInline (admin.StackedInline): модель = UserProfile класс UserAdmin (BaseUserAdmin): fieldsets = ((None, { 'поля': ( 'имя пользователя', 'пароль')}), # ( _ ( 'Личные данные'), { 'поля': ( 'First_name', 'Last_name', 'электронной почты')}), (_ ( 'Важные даты'), { 'поля': ( 'last_login', «date_joined ')})) # упорядоченность = (' имя пользователя»,) встраивает = [UserProfileInline] list_display = [ 'ID', 'имя пользователя', 'userprofile__display_name', 'last_login'] Теперь, когда админы создания нового пользователя с помощью Джанго-администратора и заполняют, по меньшей мере, один UserProfile поля формы, Джанго пытается создать UserProfile для пользователя в два раз, который возвращает ошибку. После того, как он будет создан из-сигнала и во второй раз, потому что было по крайней мере, одна форма поля UserProfile формы заполнены. Вы знаете, как заставить его работать? EDIT Я хотел бы добавить условие в сигнал: если не GetAttr (пример, «Userprofile»): # создать UserProfile но сигнал вызывается перед тем UserProfile ModelForm от администратора сохраняется, так что не поможет. Вы знаете, как заставить его работать? EDIT Я хотел бы добавить условие в сигнал: если не GetAttr (пример, «Userprofile»): # создать UserProfile но сигнал вызывается перед тем UserProfile ModelForm от администратора сохраняется, так что не поможет. Вы знаете, как заставить его работать? EDIT Я хотел бы добавить условие в сигнал: если не GetAttr (пример, «Userprofile»): # создать UserProfile но сигнал вызывается перед тем UserProfile ModelForm от администратора сохраняется, так что не поможет.
Milano
1

голосов
0

ответ
43

Просмотры

Модель не получает обновленный в Джанго

активный = request.POST [ 'IsActive'], если активные == 'True': 'False' user_profile.user.is_active = False Элиф активных ==: user_profile.user.is_active = True user_profile.user.save () Привет, Я я пытаюсь обновить статус пользователя над кнопкой переключения; статус пользователя не обновляется в базе данных, но не отражает на пользователя Interface.Have также пытался совершить сделку, но не повезло. Пожалуйста, помогите с решением, чтобы решить этот вопрос Спасибо! Edit: Добавление кода формы {%, если IsActive == Правда%} {% Block Элиф IsActive == Ложные%} Разблокировать {% ENDIF%} {% csrf_token%}
Neeraj Anturkar
1

голосов
0

ответ
172

Просмотры

Django форма с инлайн / вложенными данными

Я пытаюсь создать редактор для вопроса, тогда вопрос может иметь несколько файлов, связанных с ним. Я пытался заставить его работать с inline_formsets, но я не могу заставить его работать правильно. Форма Я пытаюсь создать для Вопроса в то время как я хочу, чтобы пользователь, чтобы иметь возможность загружать файлы на вопрос о том же виде. models.py DEF Вопрос (models.Model): название = models.CharField ( 'Title', max_length = 200) ... Защита AdditionalData (models.Model): вопрос = models.ForeignKey (Вопрос, related_name = 'additionalData`, on_delete = models.CASCADE) закачивать = models.FileField ( 'Data', upload_to = ...) forms.py класс QuestionForm (forms.ModelForm) класс Meta: модель = вопрос поля # = '__all__' для примера только AdditionalDataFormset = формы. non_form_errors}} {% для additional_data в additional_data_formset%} {{additional_data | хрустящей}} {% ENDFOR%} Отправить По некоторым причинам, когда я использую встроенный FormSets «Отправить» кнопка не работает (ничего не происходит, когда я нажимаю его) , При попытке заставить отправить форму (с помощью JQuery OnClick кнопки отправки) отбрасывается эта ошибка: «ManagementForm данные отсутствуют или были подделаны» Я не могу понять, почему это происходит. Что касается гнездового метода, я не смог найти пример, который демонстрирует его только две модели, так что я не уверен в том, как использовать его в этом обстоятельстве. Как вы можете видеть выше, я сделал звонок в «management_form» отлично, так что я не знаю, почему это происходит. Дополнительная информация: Вопрос может иметь любое количество файлов (экземпляры AdditionalData), связанное с ним. Любая информация на выше ошибки или советы о том, как реализовать такую ​​форму, которая может иметь переменное число подформ было бы весьма признателен.
steven landau
1

голосов
1

ответ
215

Просмотры

Борясь со многими многих областях

Я пытаюсь создать новый продукт. Вот моя модель: класс продукт (models.Model): дверь = models.ForeignKey (дверь, on_delete = models.CASCADE) Варианты = models.ManyToManyField (опция) Вот мое мнение: Защита new_product (запрос, door_id): дверь = get_object_or_404 (дверь, ID = door_id) проверяется = request.POST.getlist ( 'проверка []') c_checked = [] для проверки в зарегистрированном: new_check = get_object_or_404 (опция, имя = проверка) c_checked.append (new_check) продукта = Продукт .objects.create (дверь = дверь, опции = c_checked,) product.save () возвращает визуализации (запрос, «confirmation.html») к сожалению, когда я запускаю сервер, я получаю сообщение об ошибке говорящее: Прямое назначение на переднюю сторону из многих ко многим набор запрещается. Используйте опции. набор () вместо Пожалуйста, помогите мне, если у вас есть ответ. ,
1

голосов
1

ответ
52

Просмотры

Вставки из той же строке, что происходит и как отклонить вставку, если ити уже присутствует в БД Джанго-остальное-основы, PostgreSQL

Я пытаюсь создать бэкенд для социальных приложений. При вставке друга соотношение в базе данных, он также вставив отношения уже присутствует в БД. Пример: Пользователь 1 и Пользователь 2 уже друзей Итак, Строка в БД: 1,2,3, дата Теперь БД не должны принимать ту же строку больше, но она принимает !!! Как отклонить или ограничить несколько вставок одинаковых строк. Мой Вид: класс Дружба (viewsets.ModelViewSet): "" "Создание Рукоятки Дружба" "" authentication_classes = (TokenAuthentication,) serializer_class = UserFriendSerializer permission_classes = (permissions.FriendCreate, IsAuthenticated) QuerySet = Friends.objects.all () четкости perform_create ( Я, сериализатор): «» «Устанавливает статус дружбы пользователя» «» serializer.save (имя пользователя = self.request.
Dilip Krishna
1

голосов
0

ответ
65

Просмотры

Доступ к модели и ОРМ в различных случаях Django [Microservice Архитектура]

У меня есть проект Django Rest при поддержке Postgres базы данных. Теперь каждое приложение в рамках этого проекта должен развязаны и быть перемещены в другой сервер. Но в нынешних взглядах есть места, где я импортировать модели из другого приложения и выполнять операции через ORM. Имея это в виду, как я могу получить доступ к модели из различных приложений (который будет запускаться в качестве отдельного экземпляра Джанго на разных серверах), а также выполнять запросы на них. ?
Lubi

Просмотр дополнительных вопросов

Связанные вопросы