0
我有一個外鍵RelationType模型本身:Django的序列化:外鍵同型號
class TypeManager(models.Manager):
def get_by_natural_key(self, slug):
return self.get(slug=slug)
class RelationType(models.Model):
name = models.CharField(_(u"Name"), max_length=100)
slug = models.SlugField(_(u"Slug"), max_length=100, unique=True)
inverse_relation = models.ForeignKey(
'RelationType', verbose_name=_(u"Inverse relation"),
blank=True, null=True)
objects = TypeManager()
def natural_key(self):
return (self.slug,)
一旦連載它會產生這樣的JSON的:
[{
"fields": {
"name": "Has got",
"inverse_relation": [
"is_in"
],
"slug": "has_got"
},
"model": "myapp.relationtype"
},
{
"fields": {
"name": "Is in",
"inverse_relation": [
"has_got"
],
"slug": "is_in"
"model": "myapp.relationtype"
}]
這在邏輯上不適合Django:
DeserializationError: Problem installing fixture 'myfixture.json': RelationType matching query does not exist.
有沒有一種方法可以明智地管理這個問題?
也許不相關的問題,但外鍵應該使用'''self'''定義。請參閱[doc](https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey)。 – mimo
確實沒有解決問題。但是,謝謝你的評論。在使用模型的子類時,使用'self''很有趣。 –