0
我有2個表,simpleDB_all和simpleDB_some。 「全部」表格對於我想要的每個項目都有一個條目,而「某些」表格僅對某些需要附加信息的項目具有條目。 Django的模型它們是:Left與Django中的OneToOne字段聯接
class all(models.Model):
name = models.CharField(max_length=40)
important_info = models.CharField(max_length=40)
class some(models.Model):
all_key = models.OneToOneField(all)
extra_info = models.CharField(max_length=40)
我想創建一個視圖,顯示與額外的信息中的「所有」每一個項目如果在「一些」的存在。由於我使用的是1-1場,我可以幾乎圓滿成功做到這一點:
allitems = all.objects.all()
for item in allitems:
print item.name, item.important_info, item.some.extra_info
,但是當我到達的項目不具有的「一些」表一所列的相應條目得到一個DoesNotExist異常。
理想情況下,我會在模板中做這個循環,所以不可能將它包裝在「try」子句中。有什麼想法嗎?
我可以直接使用SQL查詢像這樣得到想要的效果:
SELECT all.name, all.important_info, some.extra_info
FROM all LEFT JOIN some ON all.id = some.all_key_id;
但我寧可不使用原始的SQL。
這可能工作。感謝您的建議......當我再次到達應用程序的這一部分,並默默地驗證表單「做正確的事情」時,我會回來並將其標記爲已回答。謝謝。 – jamida 2010-05-31 17:49:54