How to resolve circular dependency error in django models

I have 2 apps in my django project

1.customer app 2.trades app

Customer app has following tables in models.py

1.customer_table 2.trade_plan_table 3.service_plan_table 4.customer_payments

trades app has following table in models.py

1.trade_details_table 2.service_details_table

Below are my dependencies:

1.service_plan_table has foreign key ref to service_details_table

2.customer_payments has foreign key ref to customer_table, trade_plan_table, service_plan_table

  1. trade_details_table has foreign key ref to customer_table

  2. service_details_table has foreign key ref to customer_table

Since there is dependency from customer model to trades model and vice versa, I'm facing circular dependency error. Instead of importing I tried 'string reference' but it did not help.

Can some one please suggest how to solvethis issue

Without seeing the models themselves, I'm guessing that you probably just need to lazy reference (https://docs.djangoproject.com/en/5.1/ref/models/fields/#lazy-relationships) via strings the models that the fk fields point to rather than importing the model and using the class directly:

class TradeDetail(models.Model):
    customer = models.ForeignKey('customers.Customer', on_delete=models.CASCADE)

instead of

from customers.models import Customer

class TradeDetail(models.Model):
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
Back to Top