0

私は簡単なことをしたい:

class MyModel(models.Model):
    "
    month field is enforced to first day of month, so I
    can have an entry by user and by month only.
    "
    user = models.ForeignKey(User)
    month = models.DateField()
    field = models.IntegerField(default=0)
    is_ok = models.BooleanField(default=True)
    other_field = models.IntegerField(default=0)

    class Meta:
        unique_together = (("user", "month"),)

したがって、特定の月に (select_related が行うように) ユーザー クエリセットのエントリをプリロードしたいと考えています。

# at the end it may for exemple be something like that....
user_with_related = User.a_related_manager.get_with_my_model_for_date(my_date)
for u in user_with_related:
    if not u.current_my_model:
        MyModel.create_for_user(u)
    elif not u.current_my_model.is_ok:
        u.current_my_model.rebuild()
 return render(request, "my_template.html", {"users": user_with_related})

すべてのユーザーが特定の月に MyModel insrance をリンクしているわけではありません。

ヒントはありますか?

4

0 に答える 0