2
我有以下代碼:假反向關係
class Transaction(models.Model):
pass
class Shipment(models.Model):
tx = models.ForeignKey(Transaction)
sub = models.ForeignKey(Subscription)
class Subscription(models.Model):
pass
我試圖做這樣的認購和成交之間的反向關係:
subscription.transaction_set.all()
我能來的唯一方法與是使用像這樣的假財產:
class Subscription(models.Model):
@property
def transaction_set(self):
return Transaction.objects.filter(
pk__in=[s.tx.pk for s in self.shipment_set.all()]
)
但現在我已經反對管理問題。我想列出管理網站中使用admin.TabularInline的交易。這是我的解決方案崩潰的地方。有人有什麼主意嗎?
我還需要使用admin.TabularInline列出貨件。
我無法相信我錯過了。我認爲,因爲在我的腦海中,我已經構建了它,並且我沒有意識到裝運模型已經像一個貫穿模型一樣起作用。謝謝。 – 2014-09-02 15:27:01
我想我可能已經匆匆接受了這個答案。關係有效,但我收到以下錯誤::(admin.E202)'sagepay.Transaction'沒有ForeignKey到'subscription.Subscription'。這是我之前得到的同樣的錯誤。 –
2014-09-02 15:41:37
http://stackoverflow.com/a/6480089/842935 – danihp 2014-09-02 15:44:42