내가 Restaurant
장고 Model.objects.all()와 Model.objects.get (PK =?)를 돌려 두 개의 서로 다른 결과
class Restaurant(models.Model):
place = models.OneToOneField(Place, primary_key=True)
serves_pizza = models.BooleanField()
serves_hotdog = models.BooleanField()
def __unicode__(self):
return u'%s the restaurant' % self.place.name
가 Restaurant.objects.all()
와 쿼리 및 Restaurant.objects.get()
는 두 개의 서로 다른 결과를 얻을 수라는 기본 모델이 전자가 맞습니다.
# this is correct
>>> r=Restaurant.objects.all()
>>> r
[<Restaurant: Hogwarts the restaurant>, <Restaurant: Domino the restaurant>]
>>> r[0].serves_hotdog
True
# this is not correct
>>> r0=Restaurant.objects.get(pk=4556376185503744)
>>> r0.serves_hotdog
False
# although they have the same pk
>>> r0.pk == r[0].pk
True
# their property values are different
>>> r[0].serves_hotdog == r0.serves_hotdog
False
>>> r[0].serves_pizza == r0.serves_pizza
False
누구나 이와 비슷한 것을 보았습니까?
당신은 그들이 동일한 pk를 가지고 있는지 확신합니까? 'r0 == r [0]'을'r0.pk == r [0] .pk'로 변경해 보셨습니까 –
예. 'r0.pk == r [0] .pk'는 True를 반환합니다. –
언제든지 개체를 수정 했습니까? –