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

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

本文介绍了如何在运行时在Django中添加动态字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须在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中添加动态字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 12:35