私は簡単なことをしたい:
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 をリンクしているわけではありません。
ヒントはありますか?