1

で作成された がありModelます。djangoneo4django

class Person(models.NodeModel):
    """
    Persons of a Company
    """
    email = models.EmailProperty(required=True, unique=True, indexed=True,
                                 name=_(u'email'),
                                 verbose_name=_(u'person email address'),
                                 help_text=_(u'bla bla bla some help text'))
    full_name = models.StringProperty(name=_(u'Person full name'))

    # Neo4J Relationships
    role = models.Relationship(Role, rel_type='has_role',
                                     direction='Outgoing',
                                     related_name='persons')
    company = models.Relationship(Company, rel_type='works_to',
                                           direction='Outgoing',
                                           related_name='employees')

django シェルを試してみます

>>> p = Person.objects.create(email=u'email@company.com')
>>> p.id
6
>>> Person.objects.get(id='6')
<Person: Person object>
>>> Person.objects.get(email=u'email@company.com')
Traceback [bla bla bla]
[...]
DoesNotExist: Person matching query does not exist.
>>>

また、Neo4JWeb インターフェイスを確認したところ、作成されたノードが表示されますが、プロパティはありません!

この問題はここで言及されている問題のように見えますが、これが同じ問題かどうかはわかりません。

私は持っていDjango 1.4.5ますNeo4J 1.8.2

4

2 に答える 2

3

Matt さん、お勧めいただきありがとうございます。私は常にマスター git バージョンを実行します。

にアップグレードしたところDjango 1.5.1、問題はなくなりました。私はまだ Neo4J の 1.8.2 バージョンを実行しています。

アップデート

それを理解しようとして、私は元に戻りDjango 1.4.5、いくつかの調査の結果、問題は実際nameにはノード プロパティの属性が原因であることがわかりました。

だからこれを変えたら

full_name = models.StringProperty(name=_(u'Person full name'))

これに

full_name = models.StringProperty(verbose_name=_(u'Person full name'))

またはこれ

full_name = models.StringProperty()

その後、すべてが期待どおりに機能します。

実際にはnameアップグレードしても問題が存在するDjango 1.5.1ため、名前属性がある場合にプロパティを作成する際に問題があると思います。

于 2013-07-11T18:47:35.733 に答える
0

どのバージョンの neo4django を使用していますか? Github ( ) の neo4django master で同じコードを試すことをお勧めしpip install -e git+https://github.com/scholrly/neo4django#egg=neo4django-devます。

于 2013-07-11T18:20:59.980 に答える