Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
Python 告诉django按需使用整数作为外键_Python_Database_Django - Fatal编程技术网

Python 告诉django按需使用整数作为外键

Python 告诉django按需使用整数作为外键,python,database,django,Python,Database,Django,我是Django新手,目前正在将现有数据库方案定义为Django模型 我有一个中央存储库来存储以下值: (some_qualifier_id_1, some_qualifier_id_2, measure_id, value) 该值是一个整数。但是,它可以引用分类数据,在这种情况下,我想将它链接到另一个表,该表为我提供了额外的信息,比如应该显示的字符串,而不是数字,排序信息 我可以告诉Django有时使用value作为外键来创建指向表的链接吗 更新: 使用int获取类别-是的,我就是这么做的。

我是Django新手,目前正在将现有数据库方案定义为Django模型

我有一个中央存储库来存储以下值:

(some_qualifier_id_1, some_qualifier_id_2, measure_id, value)
该值是一个整数。但是,它可以引用分类数据,在这种情况下,我想将它链接到另一个表,该表为我提供了额外的信息,比如应该显示的字符串,而不是数字,排序信息

我可以告诉Django有时使用value作为外键来创建指向表的链接吗

更新:
使用int获取类别-是的,我就是这么做的。然而,据我所知,模型层的重点是能够告诉Django表之间的关系是怎样的。仅仅使用一个int并使用它来查找东西就意味着在不告诉Django我在做什么的情况下将其拼凑在一起,这可能意味着我必须手动生成SQL,而不是在某个时候使用模型层。用例:按类别表中的某些排序字段对类别值进行排序。

如果度量值id值在语义上是一个外键,那么每个值必须是度量表中某个内容的索引,然后将其声明为索引,所有内容都将单独出现


如果measure_id值不是外键,则可以使用

MyModel.objects.filter(**your_filters).extra(select={
  'measure_name': 
    'SELECT measure.name FROM measure WHERE mymodeltable.measure_id = measure.id'
})

然后,检索到的对象将具有一个带有联接列的“measure\u name”属性。

对我来说,这是不真实的。方法是:从整型字段中获取id,然后使用它从模型中获取对象。是的,我试图找出这样做是否正确,因为感觉不是这样。我已经相应地更新了我的帖子。