Djangoには、別のデータベースにある別のテーブルを参照する「messplatz」(DB-Id)というフィールドを持つモデル「イベント」があります。Djangos foreignKey-field は複数のデータベースでは使用できないため、フィールド「messplatz」は整数フィールドであり、参照された「Messplatz」の PK-Value を格納します。
class Event(models.Model):
messplatz = models.Integerfield()
私が抱えている問題は、django-tables 2 を使用したモデル Event の表現です。
モデル「Messplatz」は「prodis」アプリで定義され、別のデータベースにルーティングされます。私の見解は次のようになります。
def eventList(request):
table = EventTable(Event.objects.all())
RequestConfig(request).configure(table)
return render(request, 'mkv/eventList.html', {'table': table})
ビューで、「Messplatz」フィールドに実際の Messplatz-Object (1) の名前を表示します。また、別のビューへのリンクにしたい(2)。(1) は、tables.py のフィールド 'messplatz' のカスタム レンダリング メソッドを定義することで実現できます。
from prodis.models import Messplatz
class EventTable(tables.Table):
class Meta:
model = Event
def render_messplatz(self):
return '%s' % Messplatz.objects.get(id=self.messplatz)
しかし、(2)についてはわかりません。カスタム レンダリング メソッドを
def render_messplatz(self):
return '<a href="...">%s<a>' % Messplatz.objects.get(id=self.messplatz)
リンクタグはdjango-tables 2によってプレーンテキストとして表示されます.django-tablesのLinkColumnを使用すると、LinkColumnとcustom_renderメソッドを同時に使用できないため、(1)も達成できません。
誰かアイデアがありますか?前もって感謝します