Django 如何缓存(选择_相关)依赖于参数的唯一相对模型?

Django 如何缓存(选择_相关)依赖于参数的唯一相对模型?,django,django-models,Django,Django Models,我想要一件简单的事情: 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.Integer

我想要一件简单的事情:

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


有什么提示吗?

我有点不清楚-你的意思是如果你有contrib.auth.models.User的查询集,你想预加载相关的MyModel对象吗?您想将预加载的对象限制为具有特定月份的对象吗?确切地说,如果不清楚的话,我在末尾就有了。对于您在末尾给出的示例,您是按日期查询的,因此查询用户没有意义-这样做更有意义:
my_objects=MyModel.objects.filter(month=my_date)
并从中提取用户实例。您是否有一个示例显示需要在管理器中使用更复杂的行为?事实上,有些用户没有链接
MyModel
,我希望在这些情况下获得用户结果。我仍然很难看到您试图获得的结果。您可以发布一些您希望能够进行的查询的示例,显示您将传入的参数,并解释您希望返回的内容。