可以用Django查詢來幫助我嗎?我是這個新東西,我試圖優化我的網站查詢。以下是目前的案例: 我使用標準的用戶模型作爲基礎模型,並且有三種類型的用戶,它們與它相關:A,B和C.「用戶」只能與這三種模型中的一種相關聯。目前我有一個來自Model D的實例的列表,它也與User相關。 下面是我的代碼用Django查詢獲取相關模型
D = D.objects.all()
for element in D:
try:
results.append(element.user.A)
except:
try:
results.append(element.user.B)
except:
results.append(element.user.C)
正如你已經注意到了,該解決方案是不是在這種情況下,最好的一個(也許這是最壞的)。我感謝任何幫助。 在此先感謝。
編輯:這是我的模型:
class A(models.Model)
facebook_id = models.CharField(max_length=20, blank=True, null=True)
user = models.OneToOneField(User, unique=True)
...
class B(models.Model)
user = models.OneToOneField(User, unique=True)
...
class C(models.Model)
user = models.OneToOneField(User, unique=True)
...
class D(models.Model):
user = models.ForeignKey(User)
F = models.ForeignKey(F)
請告訴我們您的models.py – lalo
A是否確定要將用戶擴展分爲三種不同的模式?他們有多不同。也許你可以創建一個類型字段並使用'choices =(('A','User type A'),('B','User type B'),('C','User type C'),) ' – gwaramadze
@remy_g, 感謝您的建議,但不幸的是,這兩種模式退出不同。 –