【发布时间】:2014-05-26 20:55:01
【问题描述】:
我的用户是雇主,他们可以执行诸如向候选人发送消息、与他人分享简历以及撰写关于候选人的评论等操作。
为此,我创建了 3 个单独的模型,每个动作一个:
class Share(models.Model):
user = models.ForeignKey(BatitoUser, related_name="shares")
shared_user = models.ForeignKey(BatitoUser, blank=True)
to_email = models.EmailField()
message = models.TextField(blank=True)
date = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return '%s - %s' % (self.user, self.to_email)
class Review(models.Model):
user = models.ForeignKey(BatitoUser)
to_user = models.ForeignKey(BatitoUser, related_name='reviews')
review = models.TextField(blank=True)
rating = models.DecimalField(max_digits=2, decimal_places=1, blank=True)
date = models.DateField(auto_now=True)
def __unicode__(self):
return '%s - %s' % (self.user, self.to_user)**
class MessageSent(models.Model):
user = models.ForeignKey(BatitoUser, related_name="messages")
to_user = models.ForeignKey(BatitoUser)
message = models.TextField()
date = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return '%s - %s' % (self.user, self.to_user)
我希望能够列出所有雇主的历史行为。 最好的方法是什么?
我在考虑 2 个选项:
-
从每个模型中检索相关信息到模板中(user.reviews_set.all、user.share_set.all 等...),然后通过 jquery/javascript 按日期对它们进行排序。
创建另一个包含所有用户操作的历史模型。但我不知道该怎么做......
我会很感激任何建议。
【问题讨论】:
标签: django django-models models