如何在django中运行时添加动态字段

时间:2015-10-01 09:14:36

标签: python django dynamic django-models

我必须在运行时在我的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

1 个答案:

答案 0 :(得分:2)

Django不适用于动态模型,因为关系数据库不是。运行时的模型更改会产生大量问题。

你必须通过......来模拟它。

  • 巧妙使用相关模型
  • 将值存储在大字段中,例如JSON为文本
  • 具有将数据存储为键值的通用模型;例如带有PK,FK,密钥,值为列的表。

你应该尝试第一个选项,只有在不能解决的情况下尝试另外两个选项。