У меня есть данные, и я хочу организовать их как:
Я создаю три таблицы, для MonthsM, Wellinfo и TestPRODM:
class MonthsM(models.Model):
MonthsM = models.DateTimeField(unique=True)
class Wellinfo (models.Model):
WellID = models.CharField(max_length=15,unique=True)
class TestPRODM(models.Model):
WellID = models.ForeignKey(Wellinfo ,to_field='WellID', on_delete=models.CASCADE)
TestMonth = models.ForeignKey(TestMonthM, on_delete=models.CASCADE)
TestOIL = models.DecimalField(max_digits=10, decimal_places=3,null=True, blank=True)
# условия В моих реальных данных у меня есть один WellID, который можно тестировать только один раз в месяц.
так как установить условие, которое это делает?
чтобы в таблице (TestPRODM) могло быть много записей с тем же WellID, но с в разные месяцы, поэтому в нем может быть много записей с одним и тем же TestMonth, но с разными WellID.
NB. НЕТ записей в таблице (TestPRODM), которые имеют одинаковые WellID и TestMonth в одно и то же время.
Обновленный POST
for i ,value in enumerate(PUITS):
try:
_, create = TestPRODM.objects.update_or_create(
WellID= PUITS[i],
TestMonth_id =obj.id,
TestOIL =float(QHUILE[i]),
)
print('Saving', PUITS[i])
AddedList +=[value]
except:
print('Passed', PUITS[i])
pass
, и эта функция передает все ограничения в модели и сохраните все данные в базе!