Python 我的设置正确吗?

Python 我的设置正确吗?,python,django,Python,Django,我是问我是否正确设置了create方法。或者其他两款车型也需要添加吗?这将如何改变 class PointModel(models.Model): x = models.IntegerField() y = models.IntegerField() index = models.IntegerField() class DatetimeRangeModel(models.Model): start_datetime

我是问我是否正确设置了create方法。或者其他两款车型也需要添加吗?这将如何改变

class PointModel(models.Model):
    x       = models.IntegerField()
    y       = models.IntegerField()
    index           = models.IntegerField()

class DatetimeRangeModel(models.Model):
    start_datetime  = models.CharField(max_length=14)
    end_datetime    = models.CharField(max_length=14)

class PlanModel(models.Model):
    data_number             = models.IntegerField()
    data_datetime_range     = models.ForeignKey(DatetimeRangeModel, blank=True, null=True, on_delete=models.SET_NULL)
    data_polygon            = models.ForeignKey(PointModel, blank=True, null=True, on_delete=models.SET_NULL)

    @classmethod
    def create(cls, data_number, data_datetime_range, data_polygon):
        plan = cls(data_number=data_number, data_datetime_range = data_datetime_range,
                    data_polygon=data_polygon)

        return plan
编辑:我更改了结构,该结构修复了未定义的,并添加了一些逻辑,防止PlanModel被删除,使用“blank=True,null=True,on_delete=models.SET_null”

这看起来对吗?

有关详细信息,请参阅文档

没有太多理由添加这些内容,除非您在
行中有需要添加的内容

编辑:而不是调用
create
您通常会执行以下操作:

plan = PlanModel(data_number=1, ....)
plan.save()
或者有时:

plan = PlanModel()
plan.data_number=1
...
plan.save()

等等,事实并非如此!我收到错误,说create方法不再存在…我还需要create方法吗?因为删除它破坏了代码你不应该调用
create
来创建模型对象,我会更新我的答案我会,我会调用PlanModel.create(…这里的数据…).save(),它告诉我没有属性createah,让我试试看!你们所有投了我一票的人!这是一个很好的问题,真的帮助了我!
plan = PlanModel()
plan.data_number=1
...
plan.save()