问题描述
我必须在django应用程序中的运行时添加动态字段,但是我不知道如何在运行时添加新字段的正确方法.
I have to add dynamic fields at run time in my django application,but I don't know the proper way how to add new fields at run time.
我想添加将生成动态字段并更新数据库的代码.我正在使用postgresql数据库.请帮助,如果有人可以.
I want to add the code which will generate the dynamic field and will update database too. I am using postgresql database. please help if anyone can.
我的"model.py"就是这样:
My "model.py" is simply like this:
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
推荐答案
Django不是用于动态模型的,因为关系数据库不是.在运行时更改模型会产生很多问题.
Django is not made for dynamic models, as relational databases are not. A model change at runtime will create a ton of problems.
您必须通过...来模拟它
You have to simulate it, by...
- 巧妙使用相关模型
- 在大字段中存储值,例如JSON作为文本
- 具有将数据存储为键,值的通用模型;例如带有PK,FK,键,值作为列的表.
您应该尝试第一种方法,只有在无法解决问题时,才尝试其他两种方法.
You should try the first option and only if that does not work out try the other two.
这篇关于如何在运行时在Django中添加动态字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!