python - 如何在 Django 模型中添加条件字段?

标签 python django

基本上,我想要的是满足条件时可用的字段,所以像这样:

class ConditionalModel(models.Model):
    product = models.ForeignKey(product, on_delete=models.CASCADE)
    if category == "laptop":
        cpu_model = models.CharField(max_length=200)

因此,如果我转到 Django 管理页面并创建模型的实例,然后从现有“产品”的下拉列表中选择“笔记本电脑”作为产品,则会出现一个新字段。我在文档中找不到任何关于此的信息,所以我想知道这是否可能。

最佳答案

您所要求的在“技术上”是不可能的。一个模型关联一个数据库对象,而在传统的 SQL 规则下,这是不可能的。您可以改为将该字段设为可选,然后自定义管理页面的功能。

另一个可能的选择是在您不想在数据库中存储 NULL 值的情况下使用 NoSQL 数据库,尽管我对此经验不多。

关于python - 如何在 Django 模型中添加条件字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49556810/

相关文章:

python - Django,获取 ChoiceField 表单的值

python - Django-nested-admin 网址未加载

python - 在单独的线程中运行 SimpleXMLRPCServer 并关闭

python - 在 Python 中设置子类时定义 __repr__

python - 使用多数据库的 Django 事务

python - HTML Checkbox 只返回 None 作为我的 Django View 的值

django - 在序列化器剩余框架中序列化连接表

python - ModuleNotFoundError : No module named 'sksurv' in python

python - 使用逗号作为换行符读取 CSV

python - Python basemap 中map.bluemarble()的内存错误