簡體   English   中英

如何將查詢集添加到ManyToMany關系?

[英]How to add queryset to ManyToMany relationship?

我有以下型號:

class EnMovielist(models.Model):
    content_ID = models.CharField(max_length=30)
    release_date = models.CharField(max_length=30)
    running_time = models.CharField(max_length=10)
    actress = models.CharField(max_length=300)
    series = models.CharField(max_length=30)
    studio = models.CharField(max_length=30, null=True)
    director = models.CharField(max_length=30)

    def __str__(self):
        return self.content_ID


class EnActress(models.Model):
    name = models.CharField(max_length=100, null=True)
    movielist = models.ManyToManyField(EnMovielist, related_name='movies')

    def __str__(self):
        return self.name

在Django Shell中嘗試執行此操作時出現錯誤,

b = EnActress.objects.values_list('name', flat=True)
a = EnMovielist.objects.filter(actress__contains=b).values_list('content_ID')

b.movielist.add(a)



AttributeError: 'QuerySet' object has no attribute 'movielist'

django queryset如何添加到多對多字段? 我不知道為什么會這樣。.任何幫助表示贊賞! :)

您應該從實例調用m2m add ,添加實體也應該是模型實例。 否則,您的表情就沒有意義。

b = EnActress.objects.get(pk=some_pk) # get an instance, not queryset
a = EnMovielist.objects.get(pk=some_pk) # also instance
b.movielist.add(a)

如果您打算以后add新的關系,則不應使用values_list 文檔

values()values_list()都旨在作為特定用例的優化:檢索數據的子集, 而無需創建模型實例

[ 重點礦 ]

如果沒有對要實現的目標的充分描述,很難說出自己的目標。

暫無
暫無

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

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