无法从 django 查询字段名称有双下划线的地方。
这是因为在django查询语言中__
有自己的含义
那么如何查询实际名称为 "my__fyeild__name"
的字段呢?
template.fields.filter(my__fyeild__name="aaa")
在数据库中,该列的名称带有两个下划线
__
,我不允许重命名该列。 最佳答案
你不能,因为 Django 总是会在 __
部分 split 。但我认为无论如何你都不需要这个。您可以在 Django 级别定义一个字段,该字段在数据库级别具有不同的名称。
例如,我们可以使用一个字段定义模型,在该字段中我们使用 db_column=...
parameter [Django-doc] 在数据库级别指定列的名称:
class SomeModel(models.Model):
my_field_name = models.CharField(max_length=128, db_column='my__field__name')
所以这里可以查询
my_field_name
,Django 会自动使用查询中的 my__field__name
。关于django - 无法从字段名称有双下划线的 django 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58098100/