Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django update foreignkey是否可以使用SQL?_Django_Postgresql - Fatal编程技术网

django update foreignkey是否可以使用SQL?

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):

首先,我将数据填充到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):
    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