Python 在django ORM中的特定列上强制执行where子句

Python 在django ORM中的特定列上强制执行where子句,python,django,django-orm,Python,Django,Django Orm,我们是否可以围绕django ORM编写一个包装器,以便每个查询都应该有一个where子句? 现在,您不能使用all()方法。 例如。 假设我们有auth\u user表和user\u properties表,其中包含关于用户的附加数据(以及来自auth\u user的外键)。 在这里,如果开发人员想从user\u properties表中获得几行,他必须在filter查询中提供user或user\u id列,否则应该给出一个异常。 如果您需要更多信息,请写下评论。如果您想扩展用户模式,请在您的

我们是否可以围绕django ORM编写一个包装器,以便每个查询都应该有一个where子句? 现在,您不能使用
all()
方法。 例如。 假设我们有
auth\u user
表和
user\u properties
表,其中包含关于用户的附加数据(以及来自auth\u user的外键)。 在这里,如果开发人员想从user\u properties表中获得几行,他必须在
filter
查询中提供
user
user\u id
列,否则应该给出一个异常。
如果您需要更多信息,请写下评论。

如果您想扩展用户模式,请在您的
用户属性
模型中使用OneToOne字段到用户模型,如下所示:

class UserProperty(models.Model):
    user = models.OneToOneField(User, related_name='properties')
    prop1 = models.CharField(...)
    prop2 = models.CharField(...)

prop1 = request.user.properties.prop1

请记住,创建新用户时需要创建UserProperty这不是我想知道的。表肯定会被创建。我想知道的是,开发人员不能使用all方法并强制他在UserProperty的每个查询中使用至少包含user的filter方法。