Django模型字段支持属性吗?
Django模型字段支持属性吗?
我认为用一些代码来提问是最好的方式...我可以这样做吗:
class MyModel(models.Model): foo = models.CharField(max_length = 20) bar = models.CharField(max_length = 20) def get_foo(self): if self.bar: return self.bar else: return self.foo def set_foo(self, input): self.foo = input foo = property(get_foo, set_foo)
还是我必须这样做:
class MyModel(models.Model): _foo = models.CharField(max_length = 20, db_column='foo') bar = models.CharField(max_length = 20) def get_foo(self): if self.bar: return self.bar else: return self._foo def set_foo(self, input): self._foo = input foo = property(get_foo, set_foo)
注意:通过向模型字段传递db_column,您可以将列名保留为数据库中的'foo'。这在您在现有系统上工作且不想无缘无故进行数据库迁移时非常有帮助。