私はこれらを使用してみましたが循環djangoモデルのインポートを回避する方法は?
# user profile models file
from ad.models import FavoriteAd
class UserProfile(models.Model):
def get_user_favorite_ad(self):
return FavoriteAd.objects.filter(fav_user=self)
# ad models file
from user_profile.models import UserProfile
class FavoriteAd(models.Model):
fav_user = models.ForeignKey(UserProfile, blank=False, on_delete=models.CASCADE)
以下これらのモデルを持っているが、それはNameError UserProfile not found
# ad models files
class FavoriteAd(models.Model):
fav_user = models.ForeignKey('user_profile.UserProfile', blank=False, on_delete=models.CASCADE)
はまた、モデルの準備ができていないことを今でも、同様にこれらを試してみましたエラーを得た私に与える
# ad models files
from django.apps import apps
UserProfile = apps.get_model('user_profile', 'UserProfile')
class FavoriteAd(models.Model):
fav_user = models.ForeignKey(UserProfile, blank=False, on_delete=models.CASCADE)
に第二版を入手するには、文字列を使用してし、正しいです。試してみたときの完全なエラーを表示してください。 –
@DanielRosemanああ、2番目のバージョンの仕事はエラーです。 私は 'FavoriteAd'の上の他のモデルで' UserProfile'を使用しています。私はそれを文字列バージョンに変更しませんでした。 – mengkheang