私のような外部キーを使用してモデルを参照する複数のDjangoのモデルがあります:モデルを参照するすべてのモデルをDjangoの1つのテーブルに結合するにはどうすればよいですか?
WorldGridだけであるclass LocationHistory(models.Model):
region = models.ForeignKey(WorldGrid)
...
class UserSynthVals(models.Model):
region = models.ForeignKey(WorldGrid)
...
class RegionalVictoryRate(models.Model):
region = models.ForeignKey(WorldGrid)
...
:
今class WorldGrid(models.Model):
latitude = models.FloatField()
longitude = models.FloatField()
...
は、私が(WorldGridを参照するすべてのモデルを取得することができています抽象的に再利用のための)と:。
models_that_reference = [i.model for i in get_model('appname',model_name)._meta.get_all_related_objects()]
そして、その時点で、私はそれらを介してループが(自分のmodel.objects.allを取得することができます)の値()が、私はAWを見つけることができませんこれらのオブジェクトの別々のリストを1つのテーブルに結合してテーブルに出力することができます。
私はむしろ、djangoが期待している使い方(select_related()のような)に沿って何かを行い、この要約を残しておきたいと思います。
この問題を解決する助けがあれば、是非ともお試しください。
私はこれを試しました(usersynthvalsのみ)。そして、AttributeErrorを受け取りました。タイプオブジェクト 'UserSynthVals'に属性 'split'がありません。 – creatorjames
奇妙なことに、ここで@creatorjamesを手伝ってください。私はあなたがモデルを使いたいなら、tihnkフィルターは行く方法です。もう一つの選択肢はモデルを完全に飛び越えて、間違ったエラーであると思われるSQL –
の申し訳を使用して直接データをクエリすることです。地域の前にアンダースコアを追加することで答えを出すことができましたが、これはすべて、ユーザーシンセがあるWorldGridsを取得していると信じています。私が欲しいのは、同じテーブル内の参照するすべてのものです。 – creatorjames