我们可以在django ORM周围编写一个包装器,以便每个查询都应该有一个where子句吗?
现在,您不能使用all()
方法。
例如。
假设我们有auth_user
表和user_properties
表,其中包含有关用户的附加数据(以及来自auth_user的外键)。
在这里,如果开发人员想要从user_properties表中获取几行,他必须在user
查询中提供user_id
或filter
列,否则它应该提供异常。
如果您需要更多信息,请写下评论。
答案 0 :(得分:0)
如果您想扩展用户模式,请在user_properties
模型中使用OneToOne字段添加用户模型,如下所示:
class UserProperty(models.Model):
user = models.OneToOneField(User, related_name='properties')
prop1 = models.CharField(...)
prop2 = models.CharField(...)
prop1 = request.user.properties.prop1
请记住,您需要在创建新用户时创建UserProperty