嗨,我对 django 的奇妙世界还很陌生!
基本上,我正在从事一个项目,该项目需要我创建一个相当独特的电子邮件通知系统,当在网站上发布新的博客文章时,用户可以使用该系统来改进他们通过电子邮件收到的更新。
我想我会对这个项目有很多问题,因为它被证明是一个非常陡峭的学习曲线,所以我想我先自己尝试一下,然后当我遇到困难时跑到这里寻求帮助!
基本上,用户可以选择接收以下所有新博客文章的更新,或者从他们最喜欢的作者等的复选框中选择
我遇到的第一件事是将用户从数据库中拉出来。我知道如何获取每个博客的所有用户详细信息,但这显然让我返回了已发布多个博客的用户的重复用户详细信息。所以我需要一种方法来只获取那些发布博客的用户的用户信息,并且只获取他们的详细信息一次。
模型
class Blog(models.Model):
user = models.ForeignKey(User, help_text = "The User posting this blog entry")
news = models.ForeignKey(News, unique = True, blank = True, null = True, help_text = "Is this Blog entry related to a news posts IE and Expert Analysis")
title = models.CharField(max_length = 120, help_text = "The Title of this blog entry")
slug = models.SlugField(max_length = 150, help_text = "This Field is auto-populated by the title field, its simply used for the CMS urls")
info = models.TextField()
categories = models.ManyToManyField(Categories)
sectors = models.ManyToManyField(Sectors)
tags = models.ManyToManyField(Tags)
published = models.DateTimeField()
status = models.CharField(max_length=1, choices=STATUS_CHOICES, default = 'd')
class Meta:
verbose_name_plural = "Blog entries"
verbose_name = "Blog"
ordering = ['-published']
def __unicode__ (self):
return self.title
如您所见,我使用 django 的用户模型作为外键来存储作者的详细信息。我应该放弃这种方法并为博客作者建立一个单独的模型,还是可以使用内置的用户模型来实现我想要做的事情。
因此,总结一下我的目标是能够获得所有发布过博客文章的用户的列表,但只获取他们的详细信息一次,从而给我一个名称和 ID 列表,以便我可以使用复选框创建一个表单用户可以勾选以选择接收更新!
提前感谢您的帮助!!