如何使django模型中的字段成为值或外键?

如何使django模型中的字段成为值或外键?,django,django-models,django-rest-framework,Django,Django Models,Django Rest Framework,我不知道这是否可行,也许我必须想出一个特殊的设计,但我正在努力解决以下问题: 这些是我的模型 class Rectangle(models.Model): height = models.CharField(max_length=255) width = models.CharField(max_length=255) class Variable(models.Model): name = models.CharField(max_length=255) v

我不知道这是否可行,也许我必须想出一个特殊的设计,但我正在努力解决以下问题:

这些是我的模型


class Rectangle(models.Model):
    height = models.CharField(max_length=255)
    width = models.CharField(max_length=255)

class Variable(models.Model):
    name = models.CharField(max_length=255)
    value = models.CharField(max_length=255)
我希望宽度和高度要么是一个值,要么是一个具有该值的变量。例如,如果用户输入一个以特殊字符开头的高度,比如说“@variablename”,它应该能够找到并引用该变量,否则,例如,如果输入为“350”,则只需保存该值

有人能帮我吗?
提前感谢

您可以为高度和宽度字段设置与
VARABLE
模型的关系

class Rectangle(models.Model):
    height = models.Foreignkey(Variable,on_delete=#SET_NULL,CASCADE vs what you want)
    width = models.Foreignkey(Variable,on_delete=#SET_NULL,CASCADE vs what you want)
若用户指定了一个特殊的值名,那个么您可以找到字段并将其与变量对象连接起来。另外,如果用户只提供值,则可以创建任何变量对象并将其连接到相关字段