Size: a a a

Django [ru] #STAY HOME

2020 September 10

S

Shodmon in Django [ru] #STAY HOME
Artem Gubatenko
мы обсуждали как сделать прямо в модели через limit_choices_to
Да, вот там, если написать такое, что получится?
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
Shodmon
Да, вот там, если написать такое, что получится?
ошибка получится
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Shodmon
Да, вот там, если написать такое, что получится?
нет, только:
Either a dictionary, a Q object, or a callable returning a dictionary or Q object can be used.
источник

S

Shodmon in Django [ru] #STAY HOME
limit_choices_to={'groups__name': 'Wo'}
Сработало бы, было бы гуд)
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
project_manager = models.ForeignKey(User, default=None, null=True, on_delete=models.DO_NOTHING,
                                       limit_choices_to=User.objects.filter(groups__name='PM'))
такой код возвращает ошибку:
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
тоже произойдет если обернуть и передать в классе Q
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Shodmon
limit_choices_to={'groups__name': 'Wo'}
Сработало бы, было бы гуд)
в модели юзера, думаю, сработает, а вот в "сторонней" - не знаю
источник

S

Shodmon in Django [ru] #STAY HOME
Artem Gubatenko
можно так, но через Q(...).
вот  только я не знаю как отфильтруется через m2m связь: MyModel -> fk -> User -> m2m -> Group
Т.е была бы выборка юзеров с группой шо
источник

S

Shodmon in Django [ru] #STAY HOME
Vitaliy Turkevich
project_manager = models.ForeignKey(User, default=None, null=True, on_delete=models.DO_NOTHING,
                                       limit_choices_to=User.objects.filter(groups__name='PM'))
такой код возвращает ошибку:
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
тоже произойдет если обернуть и передать в классе Q
Я имел ввиду то что
источник

S

Shodmon in Django [ru] #STAY HOME
Shodmon
limit_choices_to={'groups__name': 'Wo'}
Сработало бы, было бы гуд)
Тут или это же, но с кью
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Vitaliy Turkevich
project_manager = models.ForeignKey(User, default=None, null=True, on_delete=models.DO_NOTHING,
                                       limit_choices_to=User.objects.filter(groups__name='PM'))
такой код возвращает ошибку:
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
тоже произойдет если обернуть и передать в классе Q
раз пробуешь, то попробуй вставить как Wo пишет. Может сработает))
только отпишись потом
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
все эксперименты вызывали ошибку
TypeError: CheckConstraint.check must be a Q instance or boolean expression.
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
или django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Vitaliy Turkevich
все эксперименты вызывали ошибку
TypeError: CheckConstraint.check must be a Q instance or boolean expression.
limit_choices_to=models.Q(groups__name='Wo')
источник

JT

James Town in Django [ru] #STAY HOME
Не выходи из комнаты.
В общем случае, как-то так. post.category = Category.objects.get(slug=getsubcategory)

Если я правильно понял, конечно
не сработало. Мб есть еще какие-то решения?
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
Artem Gubatenko
limit_choices_to=models.Q(groups__name='Wo')
limit_choices_to=models.Q(groups__name = 'PM')
CheckConstraint.check must be a Q instance or boolean expression.
источник

S

Shodmon in Django [ru] #STAY HOME
Vitaliy Turkevich
limit_choices_to=models.Q(groups__name = 'PM')
CheckConstraint.check must be a Q instance or boolean expression.
Эм, шта?) Мб дело в пробелах?)😅
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
пробелы роли не играют
источник

VT

Vitaliy Turkevich in Django [ru] #STAY HOME
только что убрал пробелы, ошибка не изменилась)
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Vitaliy Turkevich
пробелы роли не играют
есть последняя идея - написать функцию, которая будет возвращать models.Q(...)
наодобие как тут, во втором примере: https://docs.djangoproject.com/en/3.1/ref/models/fields/#django.db.models.ForeignKey.limit_choices_to
источник

L

LORD in Django [ru] #STAY HOME
Переслано от LORD
Всем добрый день. Народ, не подскажите почему для апдейт setattr нормально работает, а для креэйт нет?
источник