擅长:python、mysql、java
<p>django文档给出了一个<a href="https://docs.djangoproject.com/en/dev/topics/db/models/#one-to-one-relationships" rel="nofollow">great answer</a>:</p>
<blockquote>
<p>For example, if you were building a database of “places”, you would
build pretty standard stuff such as address, phone number, etc. in the
database. Then, if you wanted to build a database of restaurants on
top of the places, instead of repeating yourself and replicating those
fields in the Restaurant model, you could make Restaurant have a
OneToOneField to Place (because a restaurant “is a” place; in fact, to
handle this you’d typically use inherit Each car has exactly one driver and each driver only drives one car. Does it not make sense to separate car anance, which involves an
implicit one-to-one relation).</p>
</blockquote>
<p>Django使用OneToOne对继承进行建模(可能在内部使用它,但我还没有签出源代码)。我觉得如果django提供了一个工具,你可以用一种你可以保护的方式来使用它,为什么不使用它呢?如果一辆车只有一个司机,那么在数据库中使用django提供的工具(OneToOneField)来实现这一点似乎是有道理的</p>