我有一個Django抽象模型。覆蓋類屬性,用通用方法引用類
class Company(models.Model):
DEFAULT_EMPLOYEES = None
employees = models.PositiveIntegerField(null=True, blank=True,
default=<<<what_goes_here>>>.DEFAULT_EMPLOYEES)
class Meta:
abstract = True
class BestBuy(Company):
DEFAULT_EMPLOYEES = 1000
我有興趣重寫類屬性作爲默認值使用。我想知道是否有一種通用的方式來引用這個類來使這成爲可能。在Company
我意識到我可以使用Company.DEFAULT_EMPLOYEES
來引用屬性,但有沒有這樣一種方式:"CurrentCLass".DEFAULT_EMPLOYEES
。
我很肯定self
不能在這裏工作,因爲這些定義中沒有實例。只是類
有沒有更好的方法來解決這個問題,以允許子類指定一個默認值?任何幫助將不勝感激。謝謝。
爲什麼不只是在每一個模型中定義的字段?要做你想做的事情可能會很麻煩並且容易出錯,你需要深入研究Django的元類功能 –
你可能會用'inspect.currentframe()'做類似的事情......等等,但是這是一個無意義的事情,如果你只是這樣做,以避免再次寫入屬性.. –