我对这个问题已经有一段时间了。我有两个模型:收购和RawDatas。在
每个RawData都有一个采集,但许多RawData可以有相同的采集。在
我想在创建RawDatas时自动创建或获取Acquisition实例。我希望能够使用序列化程序获得所有信息。在
class Acquisitions(models.Model):
class Meta:
unique_together = (('implant', 'beg_acq', 'duration_acq'),)
id = models.AutoField(primary_key=True)
implant = models.ForeignKey("Patients", on_delete=models.CASCADE)
beg_acq = models.DateTimeField("Beggining date of the acquisition")
duration_acq = models.DurationField("Duration of the acquisition")
class RawDatas(models.Model):
class Meta:
unique_together = (('acq', 'data_type'),)
id = models.AutoField(primary_key=True)
acq = models.ForeignKey("Acquisitions", on_delete=models.CASCADE)
data_type = models.CharField(max_length=3)
sampling_freq = models.PositiveIntegerField("Sampling frequency")
bin_file = models.FileField(db_index=True, upload_to='media')
我的序列化程序是:
^{pr2}$我的问题是,使用这个方法,如果我的采集实例已经存在,我会得到一个非“字段”错误或另一个约束验证错误。在
我想知道正确的处理方法是什么?在
因此,我可以使用嵌套序列化程序自动创建它,并且当我只想获得信息(例如GET请求)时,我可以拥有我需要的所有字段(两个模型的每个字段)。在
提前感谢您的帮助!在
试试这个:
相关问题 更多 >
编程相关推荐