2016-04-06 328 views
0

以下是我正在尝试的操作。比方说,我有一个社区网页体育活动,我想将它的相关页面显示为“运动”页面。我想在我的“运动”页面上显示“足球”,“棒球”,“篮球”。如何为标签添加标签

所以我想到了使用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 %} 
+0

得到所有这些有Sport一个related_category的事情清单怎么样{{category.name}}?如果{%if category.related_cat%}等于“sports”,将会打印“足球” – lapinkoira

回答

0

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

但是,对于你的问题:

你可能想使用一个多对多的而不是外键,但假设你想有一个严格的等级制度,给予对象Football其中有Sport一个related_category,和其他对象Baseball其中也有一个Sportrelated_category,你可以通过做Sport.category_set.all()