无法从 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/

10-12 12:39
查看更多