2017-05-26 137 views
1

我有兩個Django models.py在兩個不同的應用程序。Django圓形導入和模型問題

processor app models.py

from address.models import Address 
...defining clasess 
class Displayble(models.Model): 
# It has no DB fields 

address app models.py

from processor.models import Displayable 
class Address(models.Model, Displayble): 
...some fields, stored in DB 

正在Dispalyble類到另一個文件是解決這種依賴的唯一選擇?

+2

您還沒有表現出足夠的信息來告訴,因爲我們不知道如何使用'Address'或'Displayble'在'處理器/ models.py'。 – Alasdair

+0

我同意阿拉斯代爾。你可以導入模型來擴展一個類,或者你可以使用方法或函數中的類。爲我們提供更詳細的代碼,我們可能會幫助你。 –

回答

2

用django的apps.get_model導入Address模型。 https://docs.djangoproject.com/en/1.11/ref/applications/#django.apps.apps.get_model

在你processor app models.py更換

from address.models import Address 
...defining clasess 
class Displayble(models.Model): 
# It has no DB fields 

隨着

from django.apps import apps 
Address = apps.get_model(app_label='address', model_name='Address') 
....go ahead and use Address as though imported 
class Displayable(models.Model): 
...