我正在使用Django REST Framework。我有两个模型,站点和状态。
class Statuses(models.Model):
status_id = models.AutoField(primary_key=True)
description = models.CharField(max_length=255, blank=True, null=True, unique=True)
class Meta:
managed = True
db_table = 'Statuses'
@property
def status(self):
return self.row_status.description
我希望能够在网站上执行GET,并返回Statuses.description字段(而不是Statuses.status_id)。此外,我希望它可以在POST中交替使用status_id或description来创建新站点。这类功能属于哪里(序列化器,模型等)?
我知道我可以通过向Sites模型添加属性然后在Sites序列化程序中引用此字段来完成我的问题的第一部分。
private List<Type> Models = new List<Type>()
{
typeof(LineModel), typeof(LineDirectionModel), typeof(BusStopTimeModel), typeof(BusStopNameModel)
};
foreach (Type model in Models) // in code of my method
{
Connection.CreateTable<model>(); // error: 'model' is a variable but is used like a type
}
但是我认为Model的约定是它应该是数据库表的1:1表示。有更好的方法吗?
答案 0 :(得分:0)
这非常适合串行器,如下所示:
status
(但null=True
字段可能未设置{{1}}。)