Python 我的设置正确吗?
我是问我是否正确设置了create方法。或者其他两款车型也需要添加吗?这将如何改变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
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()