python 映射关系_django一对一关系如何将名称映射到子对象?

除了文档中的一个示例之外,我找不到任何关于django如何选择名称的文档,通过该名称可以从父对象访问子对象。在他们的示例中,他们执行以下操作:class Place(models.Model):

name = models.CharField(max_length=50)

address = models.CharField(max_length=80)

def __unicode__(self):

return u"%s the place" % self.name

class Restaurant(models.Model):

place = models.OneToOneField(Place, primary_key=True)

serves_hot_dogs = models.BooleanField()

serves_pizza = models.BooleanField()

def __unicode__(self):

return u"%s the restaurant" % self.place.name

# Create a couple of Places.

>>> p1 = Place(name='Demon Dogs', address='944 W. Fullerton')

>>> p1.save()

>>> p2 = Place(name='Ace Hardware', address='1013 N. Ashland')

>>> p2.save()

# Create a Restaurant. Pass the ID of the "parent" object as this object's ID.

>>> r = Restaurant(place=p1, serves_hot_dogs=True, serves_pizza=False)

>>> r.save()

# A Restaurant can access its place.

>>> r.place

# A Place can access its restaurant, if available.

>>> p1.restaurant

所以在他们的例子中,他们只是调用p1.restaurant,而没有明确定义该名称。Django假定名称以小写开头。如果对象名有多个单词,比如FancyRestaurant,会发生什么情况?

附带说明:我正试图以这种方式扩展用户对象。可能是这个问题吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值