Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法让django管理自定义模型模式_Django_Django Models_Django Rest Framework - Fatal编程技术网

有没有办法让django管理自定义模型模式

有没有办法让django管理自定义模型模式,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,我想知道是否有可能自定义django管理面板,以便管理员可以向特定模型添加属性。更改属性的名称。通过管理面板修改架构。如果您想让用户自定义表单,以便他们可以保存您最初没有想到的属性,那么您应该创建一个通用的CustomField模型,该模型可以如下所示: class CustomField(models.Model): model_class = models.CharField(max_length=200) name = models.CharField(max_length

我想知道是否有可能自定义django管理面板,以便管理员可以向特定模型添加属性。更改属性的名称。通过管理面板修改架构。

如果您想让用户自定义表单,以便他们可以保存您最初没有想到的属性,那么您应该创建一个通用的
CustomField
模型,该模型可以如下所示:

class CustomField(models.Model):
    model_class = models.CharField(max_length=200)
    name = models.CharField(max_length=200)
然后,您需要一种存储和检索值的方法,这可以通过像这样的其他模型来完成

class CustomFieldValue(models.Model):
    custom_field = models.ForeignKey(CustomField)
    object_id = models.IntegerField()
    field_value = models.CharField(max_length=200)
当然,检索额外的字段、以检索和保存数据的形式呈现这些字段完全是您的工作。但是,一旦编程了必要的方法,就可以从django admin添加和配置新字段


您可能会遇到性能问题和/或需要不同类型的字段(float、date等)。在这种情况下,您需要更复杂的方法

数据库结构不应该从前端修改,因为视图和服务依赖于它。你想实现什么?有一些模型管理员可以更新模型属性。如添加新属性、重命名模型属性。。。