簡體   English   中英

如何解決 2 個級別的 Django ManyToMany 關系

[英]How to solve Django ManyToMany relationship with 2 levels

我在 Django 1.11 中有這樣的結構:

class Profile(models.Model):
    username = models.CharField()

class Post(models.Model):
    profile = models.ForeignKey(Profile)
    hashtag = models.ManyToManyField(Hashtag)

class Hashtag(models.Model):
    name = models.CharField()

現在這會創建中間表 post_hashtag,但是如何使用profile.hashtags.all()訪問所有主題標簽?

您可以通過過濾器獲得這些,例如:

Hashtag.objects.filter(post__profile=)

因此,例如,如果您想將其添加為Profile類中的屬性,則可以將其實現為:

class Profile(models.Model):
    username = models.CharField()

    @property
    def hashtags(self):
        return Hashtag.objects.filter(post__profile=self)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM