Когда вы добавляете внешний ключ к вашей модели, django включает 'field'_id' в таблицу данных.например, в ваших моделях
class Menu(Model):
pass
class Cart(Model):
menu = ForeignKey(Menu, CASCADE)
django добавьте два свойства в корзину экземпляров модели, меню , которое является экземпляром меню, и menu_id это целое число, содержащее идентификатор экземпляра меню.django также включает свойство cart_set в экземплярах меню.
, чтобы добавить одну корзину в меню, мне нужно добавить новую корзину и установить меню, но для использования свойства менюdjango ожидает экземпляр Menu, а не id или pk
mi_menu = Menu.objects.create()
cart = Cart.objects.create(menu=mi_menu)
, если вы хотите использовать первичный ключ, вам нужно использовать menu_id, добавленный для django, например
mi_menu = Menu.objects.create()
cart = Cart.objects.create(menu_id=mi_menu.pk)
, вы должны бытьУбедитесь, что идентификатор меню существует в db.
в вашем коде, в котором вы хотите создать связанный объект с идентификатором, но django ожидает экземпляр модели.