【发布时间】:2017-12-04 05:54:45
【问题描述】:
我正在处理一个 django 项目。我有两张桌子,分别是小组和小组活动。组存储有关创建的组的信息。 GroupActivity 存储与组相关的所有活动。例如,一个名为 Welcome 的组将存储在组表中,其中包含有关该组的信息。如果将成员添加到组中,则会在组活动表中记录该活动。我想创建一个系统,允许我抓取某人所属的所有组,并且对于每个组,抓取用户所属的每个组的最后一个活动。我尝试使用两个不同的查询并使用两个 for 循环,但它根本不起作用。任何人都可以帮我解决这个问题。这是我的代码
这是表格:
class Group(models.Model):
name = models.CharField(max_length = 25)
description = models.CharField(max_length = 250, null=True)
created_by = models.ForeignKey(User, default=1, on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
class GroupActivity(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
expense = models.ForeignKey(Expense, null=True, on_delete=models.CASCADE)
bundle = models.ForeignKey(Bundle, on_delete=models.CASCADE, null=True)
description = models.CharField(max_length=200, default='some action')
host = models.CharField(max_length=100, null=True)
reference = models.IntegerField(default=0)
category = models.SmallIntegerField(default = 1)
created = models.DateTimeField(auto_now_add=True)
这是我在 views.py 文件中的内容:
# ensure someone is logged in
@login_required(login_url='/login/')
# groups home page
def groups_home(request):
# grab the logged in user
user = request.user
# grab all of the groups you are a member of
groups = Member.objects.filter(user = user).all()
# everythin that is going to be passed to the html template
activities = GroupActivity.ojects.order_by('group').desc()
parameters = {
'groups':groups,
'activities':activities,
}
return render(request, 'groups/groups.html', parameters)
这里是html模板:
{% for group in groups %}
<p>
<a href="{% url 'group_home' group.group.name|slugify group.group.id %}">{{ group.group.name }}</a>
</p>
{% endfor %}
例子:
two groups = Bros and Sisters
activity = Bros => josh was added
=> steve was added
=> josh sent steve a message
Sisters => jessica added jenny
=> jessica added julie
=> jessica added stephanie
I want to grab the two groups = Bros and Girls
I want to grab the actviities = josh sent steve a message
= jessica added stephanie
我想在应用程序的主屏幕上像 whatsapp 组一样显示组和最后一个活动。
谁能帮帮我。
【问题讨论】:
-
嘿,@OmarJandali,我想知道,这些答案对你有帮助吗?
标签: python django django-models django-rest-framework django-views