簡體   English   中英

在Django模型中的ManyToMany字段中循環

[英]Loop in ManyToMany Fields in django model

我有一個這樣的模型:

class MyProfile(models.Model):
      club = models.ManyToManyField(Club, default=None)
      city = models.ManyToManyField(City, default=None)
      .
      .

鑒於:

user = User.objects.get(pk=id)
profile = MyProfile.objects.select_related().get(user=user)

例如,使用profile.club.select_related()可以找到用戶的俱樂部。 但我想循環執行此操作。

fileds = [car, club]
for f in fileds:
        print getattr(profile, f)

在輸出中,我有<django.db.models.fields.related.ManyRelatedManager object at 0x9876545>但是使用profile.club.select_related()可以接收用戶的俱樂部名稱。 我不能在循環中使用此查詢。 有什么方法可以將此類查詢用於模型字段列表嗎?

提前致謝

此字段與MyProfile類中的“對象”字段相同。 添加.all()並將其強制轉換為列表。

fields = [car, club]
for f in fields:
    z = getattr(profile, f)
    print list(z.all())

暫無
暫無

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

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