我想制作通知功能,我需要2种不同型号的字段。 我怎样才能访问这些字段? 在我的通知视图中我写了这个
data = Notices.objects.filter(last_login<date_follow)
其中last_login属于模型类User,而date_follow属于Follow 但它不是访问这些变量的正确和正确的方法。 我怎样才能访问它们?我需要比较两个日期,以实现自上次登录以来没有看到的通知。
谢谢!
答案 0 :(得分:2)
通常,您希望加入两个表。在Django中,如果从一个表到另一个表有外键,这是最好的。您可能希望/拥有这样的模型:
class User(models.Model):
last_login = ...
class Notice(models.Model):
...
class Follow(models.Model):
user = models.ForeignKey(User)
notice = models.ForeignKey(Notice)
date_follow = ...
和您的查询
Notice.objects.filter(follow_set__date_follow__gt = follow_set__user__last_login)
我没有测试过这个查询,但是这里'follow_set'是由Django自动创建的,是一个Manager,它返回外键的反向集。如果需要,可以在外键中使用“related_name”在此处选择其他名称。