Django+DjangoRest框架不能在对象之间添加M2M关系

2024-10-03 19:31:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用DRF开发rest api,有一个问题,当我尝试在db中的现有对象之间添加m2m关系时,我得到错误:

raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

当我尝试从控制台执行相同的操作时,一切都正常。执行方法时出现问题:

@staticmethod
def update_sockets():
    c1 = ApiCountry.objects.all()[3]
    s1 = SocketType.objects.all()[2]
    c1.socketType.add(s1)
    c1.save()

模型包括:

class SocketType(models.Model):
    name = models.CharField(max_length=1, blank=True)
    country = models.ManyToManyField(ApiCountry, blank=True, related_name='socketType')

class ApiCountry(models.Model):
    countryCode = models.CharField(max_length=5, unique=True, blank=True)
    name = models.CharField(max_length=50, blank=True)

Tags: nametrueobjectsmodelslengthmaxyetcharfield