models.pydjango-orm: Wie eine Eins-zu-Eins-Beziehung Feldwert
class Area(models.Model):
area_name = models.CharField(max_length=255, null=False, blank=False)
description = models.TextField(null=False, blank=False)
class AreaPoint(models.Model):
x_axis = models.FloatField(default=0.0)
y_axis = models.FloatField(default=0.0)
area = models.OneToOneField(Area,primary_key=True,on_delete=models.CASCADE)
Ich versuche, zwei Verfahren zu aktualisieren, aber beide nicht, treten Sie mit mir führen. danke
# first method :
# Area.objects.filter(id=304).update(area_name="today is 1", description="today is 1", areapoint__x_axis=111,areapoint__y_axis=222)
# error : Area has no field named 'areapoint__y_axis'
# second method :
obj = Area.objects.get(id=304)
print obj.areapoint.x_axis # 277
print obj.areapoint.y_axis # 65
obj.areapoint.x_axis = 100
obj.areapoint.y_axis = 200
print obj.areapoint.x_axis # 100
print obj.areapoint.y_axis # 200
obj.save()
print obj.areapoint.x_axis # 100
print obj.areapoint.y_axis # 200
Die zweite Methode ist seltsam.
areapoint.x_axis
und areapoint.y_axis
sind wirklich nach dem Update unterschiedlich. Aber in meiner Datenbank.Es ist immer noch das gleiche.
Do not Sie müssen th speichern e 'Areapoint' anstelle von' obj'? d. h. 'obj.areapoint.save()' – AKS