私はquestion earlier to programmatically identity foreignkey links.に尋ねた。プログラムでdjangoの外部リンクを特定するが、テーブルを省略する
私は以下のコードは、すべての1対多のリンクを引くことがわかった:
yourModel._meta.get_all_related_objects()
私も今探してる唯一の問題は、それがまた-に多くしようとしているinteremdiaryテーブルが含まれていることです - 多くのリンク。だから、私は以下のモデルを持っている場合
class Model_one(models.Model):
name = models.CharField("Name", max_length=30)
people = models.ManyToManyField('Model_two', blank=True, through='Association')
戻り値は返されず、Associationが返されます。 「実際の」一対多リンクを指定する方法や、それ以外の方法でテーブルを省略する方法はありますか?返されたyourModel._meta.get_all_related_objects()から手動で削除する必要がある場合でも、
これを尋ねる別の方法:実際に「スルー」テーブルであるリンクを特定/分離するにはどうすればよいですか?
MyModel._meta.get_all_related_objects()が1対多のリレーションシップのみを取得することがわかりました。したがって、MyModel._meta.get_all_related_many_to_many_objects()は、中間テーブルを経由しない多対多リンクを返しますが、単純な多対多と一対多の比較は有用ではありません。 MyModel._meta.get_all_related_objects()は、 "through"テーブルを含むすべての一対多を返します。どのようにスルーテーブルを省略するのですか? –