在此链接中(对于ReadOnlyField):http://www.django-rest-framework.org/api-guide/fields/#readonlyfield它表示“当包含与属性而非模型字段相关的字段名称时,默认情况下此字段与ModelSerializer一起使用”。话虽如此,你能给我一个模型字段名称的例子,它是一个“属性”,一个模型字段名称是一个“字段”吗?
答案 0 :(得分:16)
在Django
中,model field
与数据库中的列有关。另一方面,model attribute
与添加到model
的方法或属性有关。
class MyModel(models.Model):
name = models.CharField()
quantity = models.IntegerField()
price = models.DecimalField()
@property
def description(self):
return '{}x of {}'.format(quantity, name)
def compute_total(self):
return quantity * price
在上面的示例中,name
,quantity
和price
为model fields
,因为它们是数据库中的列。同时,description
和compute_total
为model attributes
。
答案 1 :(得分:0)
字段完全处理django的ORM,属性是常规类变量,用于保存类的特定实例的状态。