私が取り組んでいるdjangoプロジェクトがあります。私はグループとグループ活動である2つのテーブルを持っています。グループには、作成されたグループに関する情報が格納されます。 GroupActivityには、グループに関連するすべてのアクティビティが格納されます。たとえば、ウェルカムと呼ばれるグループは、グループに関する情報とともにグループテーブルに格納されます。メンバーがグループに追加された場合は、グループアクティビティー表にアクティビティーのレコードがあります。私は、誰かが参加しているすべてのグループを集めることができるシステムを作りたいと思っています。そして、ユーザーが属するグループのそれぞれについて最後に行われた活動を集めます。私は2つの異なるクエリを使用して2つのループを使用してみましたが、全く動作しません。誰もがここに。これで私を助けることができる私はここで配列内の項目に関連する各項目の最初のオブジェクトを取得する - DJango
を持っているコードは、テーブルですされています。ここ
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グループのようにグループと最後のアクティビティを一緒に表示したいとします。
誰でも助けてくれますか?代わりに、あなたは後方の関係を使用することができます直接問い合わせる活動の
こんにちは、@オマルジャンダリ、私はこの回答のいずれかがあなたを助けたのだろうかと思いましたか? – Satendra