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

Anm*_*nga 5 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
Run Code Online (Sandbox Code Playgroud)

Kla*_* D. 2

Django 不是为动态模型而设计的,关系数据库也不是。运行时的模型更改会产生大量问题。

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

  • 巧妙运用相关模型
  • 将值存储在大字段中,例如将 JSON 作为文本
  • 拥有一个将数据存储为键、值的通用模型;例如,以 PK、FK、键、值作为列的表。

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