我不知怎的无法从另一个应用程序导入我的模型。我已经查过了,试过了,但没用。在
事件/模型.py
class Registration(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
team = models.CharField(max_length=50, blank=True)
date_created = models.DateTimeField(auto_now_add=True)
def save(self, *args, **kwargs):
payment = Payment.objects.create(registration=self)
super().save(*args, **kwargs)
当我运行python时管理.py迁移我明白了。在
错误
^{pr2}$付款/模型.py
import uuid
from django.db import models
from django.utils import timezone
from events.models import Registration # THIS WONT WORK
def _create_uuid():
return uuid.uuid1()
def _get_uuid():
return _create_uuid()
class Payment(models.Model):
uuid = models.CharField(max_length=1, default=_get_uuid)
paid = models.BooleanField(default=False)
registration = models.ForeignKey(Registration, on_delete=models.CASCADE)
我做错什么了?在
你有一个循环导入。在这种情况下,可以通过删除
Registration
导入并使用字符串来避免它:另一个选择是将
Payment.objects.create()
代码移到signal中。请注意,当前的save()
方法在每次保存注册时都会创建一个Payment
,这可能不是您想要的。在相关问题 更多 >
编程相关推荐