Django + Django-Rest框架无法在对象之间添加M2M关系

时间:2015-09-30 21:36:40

标签: python django django-rest-framework

我正在使用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)

1 个答案:

答案 0 :(得分:0)

我有类似的问题。 尝试在程序开头添加这些行

导入django

django.setup()

参考:https://docs.djangoproject.com/en/1.8/topics/settings/#calling-django-setup-is-required-for-standalone-django-usage