django update foreignkey是否可以使用SQL?
首先,我将数据填充到postgreSQL中,没有输入foreignkey 这是我的模特django update foreignkey是否可以使用SQL?,django,postgresql,Django,Postgresql,首先,我将数据填充到postgreSQL中,没有输入foreignkey 这是我的模特 class BeverageMenu(models.Model): brand = models.CharField(max_length=255, null=True) area = models.CharField(max_length=50, blank=True, null=True) class DMenu(models.Model):
class BeverageMenu(models.Model):
brand = models.CharField(max_length=255, null=True)
area = models.CharField(max_length=50, blank=True, null=True)
class DMenu(models.Model):
dmenu = models.ForeignKey(BeverageMenu,null=True,blank=True)
category = models.CharField(max_length=255, null=True)
product = models.CharField(max_length=255, null=True)
我用这种方式来更新foreignkey:
>>> from psql.models import BeverageMenu,DMenu
>>> menu1 = BeverageMenu.objects.get(id=1)
>>>product = DMenu.objects.filter(area='North')
>>>product.update(dmenu=menu1)
我想知道我是否可以直接使用SQL来实现这一点
我试过了,但失败了
INSERT INTO psql_dmenu(category,product,dmenu) VALUES ('hot','soup',1),
ERROR: column "dmenu" of relation "psql_dmenu" does not exist
你可以,但你为什么要这么做?Django有一个模型层,这是为了使数据库更易于处理,减少对SQL的依赖 但是,对于您的问题,问题在于ForeignKey的基础数据库列包含前缀_id:因此您的字段是
dmenu\u id