我很難理解爲什麼某些特性存在於某些模型中,所以我希望有人能在這裏解釋它們。瞭解Django模型繼承怪癖
這裏有一個基本的例子:
class Alpha(models.Model):
one = models.PositiveIntegerField()
class Bravo(Alpha):
two = models.PositiveIntegerField()
class Charlie(Alpha):
three = models.PositiveIntegerField()
"bravo" in dir(Charlie())
True
它是如何的Charlie
一個實例具有bravo
財產?是否有一個原因?我錯過了什麼?
更重要的是,爲什麼這會阻止我將bravo
屬性添加到Charlie
類中?
...
class Charlie(Alpha):
three = models.PositiveIntegerField()
bravo = models.TextField()
Charlie()
ValueError: Cannot assign "''": "Charlie.bravo" must be a "Bravo" instance.
我*真的*必須輪到完成我的博客文章,爲什麼你不應該使用模型繼承。 – 2012-03-28 09:14:44
當你這樣做,在這裏發佈你會嗎?我想閱讀它。 – 2012-03-28 10:33:25