through queryset onetoonefield one many example django many-to-many models

queryset - AttributeError: ¿El objeto ''ManyRelatedManager'' no tiene ningún atributo ''agregar''? Me gusta en el sitio web de django pero obtuve este error



many to many django (1)

for item in data: category_id = item[''category_id''] del item[''category_id''] category = Category.objects.get(pk=category_id) code = item[''code''] try: article = Article.objects.get(pk=code) except: article = Article(**item) article.save() # at this point I have the article & category, but the next # statement throws me an error: category.articles.add(article) category.save()

El error es:

AttributeError: ''ManyRelatedManager'' object has no attribute ''add''


JamesO está en lo cierto: parece que su campo Category.articles tiene una relación directa. Suponiendo que sus modelos se parezcan al menos a los siguientes

class Article(models.Model): name = models.CharField(max_length=128) class Category(models.Model): name = models.CharField(max_length=128) articles = models.ManyToManyField(Article, through=''Membership'') class Membership(models.Model): article = models.ForeignKey(Article) category = models.ForeignKey(Category) author = models.CharField()

luego para agregar un Article a una Category debes

m = Membership(article=article, category=category, author="Dan TM") m.save()

Nota: no podemos decir cómo se llama el campo de paso, por lo que la Membership es una suposición, inspirada en los documentos de django.