Django/Python模型-多字段选项

Django/Python模型-多字段选项,python,django,django-models,Python,Django,Django Models,假设我创建了一个模型AnObject,其中一个字段是shape。如果我有3套形状类型,模型可以是,圆,正方形,三角形。写出模型的最佳方式是什么?让我们假设这些形状本身不是模型(因此此处不应使用foreignkey字段),它们只是形状类型 class AnObject(models.Model): shape = ? 正确的方法是对特定字段使用choices参数。文件 因此: 谢谢,我想是这样的。在只有两种选择的情况下,这是最佳实践吗?或者我应该使用一个布尔值,一个为真,另一个为假?这可

假设我创建了一个模型
AnObject
,其中一个字段是
shape
。如果我有3套形状类型,模型可以是,圆,正方形,三角形。写出模型的最佳方式是什么?让我们假设这些形状本身不是模型(因此此处不应使用foreignkey字段),它们只是形状类型

class AnObject(models.Model):
    shape = ?

正确的方法是对特定字段使用
choices
参数。文件

因此:


谢谢,我想是这样的。在只有两种选择的情况下,这是最佳实践吗?或者我应该使用一个布尔值,一个为真,另一个为假?这可能是个人偏好的问题,但我认为我仍然会使用
CharField
列出选项。如果您决定添加第三个选项,它将使它在将来更易于扩展。也就是说,如果您知道以后不会添加其他选项,并且有一个明确的默认值,您可以使用布尔值,直到您合理地问“您的对象是圆吗?”以及“是/否”字段。
class AnObject(models.Models)
    SHAPE_CHOICES = (
        (CIRCLE, 'Circle'),
        (TRIANGLE, 'Triangle'),
        (SQUARE, 'Square'),
    )
    shape = models.CharField(max_length=8,
                             choices=SHAPE_CHOICES,
                             default=CIRCLE)