【发布时间】:2015-12-29 06:46:19
【问题描述】:
我必须在运行时在我的 django 应用程序中添加动态字段,但我不知道如何在运行时添加新字段的正确方法。
我想添加将生成动态字段并更新数据库的代码。我正在使用 postgresql 数据库。如果有人可以请帮忙。
我的“model.py”就是这样的:
class Student(models.Model):
name=models.CharField(max_length=100)
school=models.CharField(max_length=100)
created_at=models.DateField(auto_now_add=True)
is_active=models.BooleanField(default=False)
def __str__(self):
return self.name
【问题讨论】:
-
建议 - 使用
division作为列名。不要使用class作为列名,因为class关键字有自己的属性。 -
感谢您的建议。我改了。
-
你能说出动态字段的用例是什么吗?
-
其实我正在尝试为大学开发一个应用程序。我将在 model.py 中为学生添加所有必要的字段,但如果大学管理员根据他们的需要想要一个属性,例如他们自己的college_id或任何其他,然后呢?这就是为什么我希望在运行时添加新字段的选项。
-
你有一个要求,假设一些学生有其他人没有的属性,并且有很多可能性吗?如果是这样,请查看 NoSQL(文档存储、列存储……),那里的架构约束更加松散。一些指导:Django Mongo 或 How to use Cassandra in Django framework 希望这会有所帮助。
标签: python django dynamic django-models