2017-06-09 3 views
1

を保存しません:これは保存されませんDjangoは、私は次のモデルを持っている

offerings = Offering.objects.all() 
    for o in offerings: 
     for ct in o.company_type.all(): 
      tag = Tag.objects.get(word=ct.title) 
      e = Entity.objects.get(pk=o.entity.id) 
      e.tags.add(tag) 

class Offering(models.Model): 
    entity = models.OneToOneField('companies.entity') 
    company_type = models.ManyToManyField(CompanyTypeChoice, blank=True) 

@python_2_unicode_compatible 
class Tag(models.Model): 
    word = models.CharField(max_length=64) 

@python_2_unicode_compatible 
class Entity(models.Model): 
    tags = models.ManyToManyField(Tag,related_name='companies', blank=True, null=True) 

class CompanyTypeChoice(models.Model): 
title = models.CharField(max_length=64) 

私はM2Mタグ関係を作成する、次のループを持っていますM2Mの関係。私は間違って何をしていますか?

+0

Djangoは自動コミットに設定されていますか? 'CompanyTypeChoice'モデルもうまくいきますか? –

+0

@BishwasMishra。私は自動コミットのデフォルトを変更していません。 CompanyTypeに値があり、ループに供給されています。私はCompanyTypeChoiceモデルも投稿しました。 – Atma

答えて

0

このループは一度実行され、すべての値が入力されたという問題がありました。重複は再実行されず、エラーは発生しませんでした。

0

エンティティモデルのタグにrelated_name = "companies"を指定しました。だから、あなたの多くから多くの価値が救われない理由です。これを解決するために、私はこれが役に立てば幸い、

e.companies.add(tag) 

e.tags.add(tag) 

をあなたのラインを交換してください。

関連する問題