如何为标签添加标签

时间:2016-04-06 10:52:58

标签: python django

这就是我想要做的。假设我有一个社区页面体育,我想将它的相关页面显示到“体育”页面。我想向我的“体育”页面展示“足球”,“棒球”,“篮球”。

所以我考虑过使用foreignkey关系。但是,我试过的“足球”页面显示“体育”。在管理员,对于足球页面,对于该字段,related_cat我可以选择其他类别。我选择了“体育”,因为我希望“足球”成为“体育”的一部分。但它向后显示。足球页面显示体育。

class Category(models.Model): 
    name = models.CharField(max_length=128, unique=True)(Sponsored, null=True, blank=True)

    related_cat = models.ForeignKey("self", null=True, blank=True)




{% if category.related_cat %}

{{category.related_cat}}

{% endif %}

1 个答案:

答案 0 :(得分:0)

另外,Django有多个标记包(参见https://www.djangopackages.com/grids/g/tagging/)。

但是,对于你的问题:

您可能希望使用多对多而不是外键,但假设您需要严格的层次结构,给定对象Parent parentAlias = null; Child childAlias = null; GrandChild grandChildAlias = null; ICriterion dateCriterion = Restrictions.Where<GrandChild>( g => g.Date2.Date >= fromDate && g.Date2.Date <= toDate ); var query = QueryOver.Of(() => parentAlias) .Inner.JoinAlias(() => parentAlias.Children, () => childAlias) .Inner.JoinAlias(() => childAlias.GrandChildren, () => grandChildAlias, dateCriterion) .Where(p => p.Obj1.Id == param1 && p.Obj2.Id == param2 && p.Date1 == paramDate); var result = query.GetExecutableQueryOver(session).SingleOrDefault(); 的{​​{1}}为Football,另一个对象related_category也有Sport Baseball,您可以通过{{1}获取related_category Sport的所有内容的列表}}