neo4django.
당신은 당신은 단순히 모델 인스턴스의 속성을 업데이트하고
pete.name = 'Peter'
pete.save()
당신이 장고 문서에 더 많은 링크를 생각하거나 마십시오 저장할 수있는이
class Person(models.NodeModel):
name = models.StringProperty()
pete = Person.objects.create(name='Pete')
같은 모델, Person
가있는 경우 어쩌면 예제 프로젝트를 통해 문서에서 더 명확하게 알 수 있을까요? 또는 "Writing Models"섹션의 속성에 대한 자세한 정보는 무엇입니까?
EDIT - 의견의 새로운 정보.
참조하는 오류 (ValueError: Duplicate index entries for <Model>.prop
)는 "고유"로 표시된 모델 속성을 이미 사용 된 값으로 저장하려고하기 때문에 발생합니다. unique=True
옵션은 먼저 유형 색인을 확인하고 값이 이미 사용 된 경우 오류를 던집니다. 그것은 예상 된 행동입니다. 당신이 그 행동을하지 않으려면
은 물론, unique=True
을 플립 오류를 잡아, 또는 해당 속성을 가진 개체가 이미 pete = Person.objects.get(name='Pete')
같은 존재하는지 여부를 확인할 수
class UniquePerson(models.NodeModel):
name = models.StringProperty(indexed=True, unique=True)
>>> pete = Person.objects.create(name='Pete')
>>> peter = Person.objects.create(name='Pete')
...
ValueError: Duplicate index entries for <UniquePerson>.name
>>> pete.name = 'other pete'
>>> pete.save()
>>> peter = Person.objects.create(name='Pete')
>>> #no problem, since the original pete node now has a different name
을 고려하십시오.
EDIT - 4/3/13 - 공헌 버그를 찾았습니다.
몇 일 전 neo4django에서 발견 한 버그가 발견되었습니다. unique=True
속성을 가진 노드는 이미 데이터베이스에 저장 한 후에 저장하지 못하게되어 노드를 해당 속성으로 업데이트 할 수 없게되었습니다.
문제가 발생하여 테스트 슈트가이를 잡아서 패치 - https://github.com/scholrly/neo4django/issues/150-이 문제를 해결했는지 확인했습니다.
GitHub에서 최신 소스를 얻으려면 pip install -e git+https://github.com/scholrly/neo4django#egg=neo4django-dev
을 사용할 수 있습니다. 그게 수정되면 알려줘.
감사합니다. 물론 처음에는 "Writing Models"섹션에서 시도했지만 정상적으로 작동합니다. 그러나 속성에 'unique = True'옵션이있는 경우 save 메소드가 제대로 작동하지 않습니다 (중복 된 인덱스 항목 발생). rihgt 방법을 알려주십시오. –
@HidekiKinjyo 그 세부 사항으로 질문을 업데이트 할 수 있다면 정말 도움이 될 것입니다! 실제로 문제를 나타내는 코드 스 니펫도 도움이 될 수 있습니다. –
@HidekiKinjyo가이 문제를 해결 했습니까? 그렇다면 대답을 받아 들일 수 있습니까? 그렇지 않다면 어떤 추가 문제가 발생하고 있습니까? –