模型中的字段名前带下划线

1 投票
1 回答
3276 浏览
提问于 2025-04-18 18:35

假设有一个这样的模型:

from django.db import models
class A(models.Model):
    _number = models.IntegerField()

在字段名称前面加个下划线可以吗?在查询集中使用这样命名可以吗?

我特别担心的是,当还有另一个模型B的时候:

class B(models.Model):
    a = models.ForeignKey(A)

那么查询的命名规则应该是什么呢?

B.objects.filter(a___number__in=(1,2,3)) or
B.objects.filter(a__number__in=(1,2,3))

1 个回答

1

是的,这样做没问题。
在查询集(QuerySets)中,你应该在前面加下划线来使用它们:

A.objects.filter(_number__in=(1,2,3)).count()

撰写回答