私は 2 つのアプリを持っていますが、これらのアプリはそれぞれ別個のものであり、互いに通信する特別な理由はありません。これは、どちらのアプリにもどちらの名前もインポートしたくないことを意味します。すべての作業はグルー アプリ内で行う必要があります。
次のような ManyToManyField を介して特定のモデルに参加するグルー アプリを作成したいと思います。
アプリのお客様では、
class Customer(models.Model):
...
アプリのピザでは、
class Pizza(models.Model):
...
次に、次のようなピザ販売アプリを書きたいと思います。
class PizzaSold(models.Model):
customer = models.ForeignKey(related_name='pizzas')
pizza = models.ForeignKey(related_name='customers')
objects = ManyRelatedManager()
顧客からのピザに直接アクセスできるように
pizza = Pizza.objects.all()[0]
for customer in pizza.customers:
#Do something cool
この新しいアプリ内のピザの顧客。
どうやってやるの ?