如何在 Django 中的 运行 时间添加动态字段

how to add dynamic fields at run time in django

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

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

你必须模拟它,通过...

  • 巧妙利用相关模型
  • 在大字段中存储值,例如JSON 作为文本
  • 具有将数据存储为键、值的通用模型;例如一个 table 以主键、外键、键、值作为列。

您应该尝试第一个选项,只有在该选项不起作用时才尝试其他两个选项。