0

私が取り組んでいる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グループのようにグループと最後のアクティビティを一緒に表示したいとします。

誰でも助けてくれますか?代わりに、あなたは後方の関係を使用することができます直接問い合わせる活動の

+0

こんにちは、@オマルジャンダリ、私はこの回答のいずれかがあなたを助けたのだろうかと思いましたか? – Satendra

答えて

0

は、Djangoのドキュメントにthisページをご確認ください詳細はお使いのテンプレート

{% for group in groups %} 
    <p> 
     <a href="{% url 'group_home' group.group.name|slugify group.group.id %}">{{ group.group.name }}</a> 
    </p> 
    {% for act in group.activity_set.all %} 
     {{ act.description }} 
    {% endfor %} 
    {% endfor %} 

にこのようなものを使用します。

関連する問題