Конструкция объекта модели Джанго молча проваливается - PullRequest
1 голос
/ 12 марта 2012

У меня есть довольно очевидный кусок кода, который терпит неудачу:

temp = MyModel(
    required_field1 = AnotherModel.objects.filter(name="example1")[0],
    required_field2 = YetAnotherModel.objects.filter(name="example2")[0],
)

Проблема в том, что после этого для температуры устанавливается значение None! У меня нет трассировки, нет сообщения об ошибке - он просто не работает и оставляет None. required_fieldNs (for N=1|2) являются единственными обязательными полями в MyModel. Существуют объекты AnotherModel и YetAnotherModel. Кто-нибудь есть идеи, почему это не работает, как я хотел бы (я имею в виду, что он не создает новый объект, на который ссылается temp). Я не могу вставить сюда весь свой настоящий код, потому что это корпоративный проект, но если есть сомнения - пожалуйста, спросите, и я могу объяснить, возможно, что-то еще. РЕДАКТИРОВАТЬ: Хорошо, я понял, почему это не сработало, проблема была в том, что я пытался вызвать метод из этого вновь созданного объекта, и это вызвало его странный сбой. Теперь эту тему можно закрыть.

1 Ответ

0 голосов
/ 12 марта 2012

Если required_field1 и required_field2 не являются внешними ключами, приведенный выше код не будет работать.

Вы уверены, что не имели в виду:

temp = MyModel(
    required_field1 = unicode(AnotherModel.objects.filter(name="example1")[0]),
    required_field2 = unicode(YetAnotherModel.objects.filter(name="example2")[0]),
)

Или:

temp = MyModel(
    required_field1 = AnotherModel.objects.filter(name="example1")[0].some_field,
    required_field2 = YetAnotherModel.objects.filter(name="example2")[0].some_field,
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...