когда мы создаем объект через django ORM, для foreign key надо указать instance объекта не id.
Например:
Publisher.objects.create(name='John')
Book.objects.create(name='Machine Learning', publisher=1)
Но так нельзя выдает ошибку:
ValueError: Cannot assign "1": "Book.publisher" must be a "Publisher" instance.
Надо указать instance:
publisher = Publisher.objects.create(name='John')
Book.objects.create(name='Machine Learning', publisher=publisher)
Вопрос, почему на примую нельзя указать 'id' foreign key объекта?
потому что это ОРМ
ну камон, если детально можете объяснить буду благодарен
знаешь как расшифровывается ORM?
аха,
Можно
Можно сделать используя только ID, без объекта, синтаксис вот такой: model_obj = MyModel(some_field='blabla', another_field='qweqwe') model_obj.related_field_id = 4 model_obj.save()
аха понятно, спасибо большое
Обсуждают сегодня