2017-03-25 5 views
1

APP1でなぜ見つけるカント:// title.models.pyタイトルDjangoは、名前~~エラーをインポートすることはできませんが、それは

from django.db import models 
from relationship.models import ContentRelationship 
from django.contrib.auth.models import User 

class Title(models.Model): 
    titleText = models.TextField(max_length=160, unique=True) 
    titleRelationship = models.OneToOneField('relationship.ContentRelationship', on_delete=models.CASCADE) 

    def __str__(self): 
     return self.titleText 

APP2://関係 relationship.models。 PY

from title.models import Title 

class ContentRelationship(models.Model): 
    allow_set = models.ManyToManyField('UserRelationship', related_name="wdt_set", symmetrical=False, through="Wdt", blank=True) 
    description = models.TextField(max_length=200, blank=True) 

    def __str__(self): 
     return self.description 

@receiver(post_save, sender=Title) 
def create_contentrelationship(sender, instance, created, **kwargs): 
    if created: 
     ContentRelationship.objects.create(Title=instance) 

@receiver(post_save, sender=Title) 
def save_contentrelationship(sender, instance, **kwargs): 
    instance.contentrelationship.save() 

何私が欲しいのは、私がタイトルインスタンスを作成する場合は、ContentRelationshipも作成することです。

しかし、そのコードに、

File "C:/Dev/TestProject/Test1\title\models.py", line 2, in <module> from relationship.models import ContentRelationship ImportError: cannot import name 'ContentRelationship'

がある私が検索し、慎重に引きする'relationship.ContentRelationship'ForeignKey or ManyToManyField年代に作られました。つまり、私はそれを文字列にしました。

しかし、動作しませんでした。

編集 マイプロジェクト構造:

enter image description here

パートIが消去貧しい名前を持っています。だから私はそれを消した。ごめんなさい。

+1

プロジェクト構造を投稿できますか? –

+0

@nik_m編集しました、nik_m – touchingtwist

+1

あなたがそれを必要としないので、このimportを 'relationship.models import ContentRelationship'から削除してみてください。文字列 ''relationship.ContentRelationship' 'を使用しています。 –

答えて

3

は、このインポートを削除してください:

from relationship.models import ContentRelationship 

あなたがそれを必要としないからです。文字列を使用しています

'relationship.ContentRelationship' 
関連する問題