Django在模板中访问m2m模型值

时间:2014-02-17 16:59:37

标签: python django django-templates

所以我想制作习惯跟踪网页,我有3个模型(习惯称为类别)

class Day(models.Model):
    name = models.CharField(max_length=8)
    date = models.DateField()

class Category(models.Model):
    name = models.CharField(max_length=100)
    categoryBD = models.ManyToManyField(Day, through='CategoryByDay')

class CategoryByDay(models.Model):
    day = models.ForeignKey(Day)
    category = models.ForeignKey(Category)
    status = models.CharField(max_length=64)

你可以看到它相当简单。为了跟踪我在特定日期所做的事情,我将每个类别与每个新的一天联系起来。

现在我设法在每个类别旁边放置了一些简洁的按钮,甚至还有jquery魔法来在单击每个按钮时发出ajax请求并隐藏每个按钮并更新状态。但是,当我刷新页面时,我仍然可以获得所有按钮。

所以我需要检查模板,今天的类别是否有创建的CategoryByDay模型,以及状态是否设置为0或1.

我可以通过模板语法来完成吗? 这需要一些奇怪的查询。我将今天的日期和类别列表传递给我的模板。也许我应该扩展类别列表以在此处添加状态?

1 个答案:

答案 0 :(得分:0)

我不明白你为什么需要Day课程的名字,但无论如何这三个课程都可以在一个简单的课程中完成:

class Category(models.Model):
    name = models.CharField(max_length=100)
    date = models.DateField()
    status = models.BooleanField()

接下来你想检查在特定日期做了什么?只需查询:

categorybyday = Category.objects.filter(date=your_date)