Django Rest框架“ django.db.utils.ProgrammingError:关系“患者”不存在”

再生

我在我的项目中使用Django Rest Framework。我已经写过测试:

class PatientTests(APITestCase):

    def test_create_patient(self):
        url = reverse('patient-list')
        data = {'firstname': 'ivan', 'lastname': 'ivanov'}
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, status.HTTP_201_CREATED)
        self.assertEqual(Patient.objects.count(), 1)
        self.assertEqual(Patient.objects.get().firstname, 'ivan')

    def test_get_patient(self):
        url = reverse('patient-detail', args=[1])
        response = self.client.get(url)
        self.assertEqual(response.data, {'firstname': 'ivan'})

models.py

class Patient(models.Model):
    firstname = models.TextField()
    lastname = models.TextField()
    secondname = models.TextField()

    class Meta:
        db_table = "patient"
        managed = False

    def __str__(self):

        return ' '.join([
            self.firstname,
            self.lastname,
            ])

运行测试时,出现错误:“ django.db.utils.ProgrammingError:关系“患者”不存在”。据我了解,如果未在测试数据库中创建表,则会发生此错误。我必须做什么?谢谢

普拉卡·特里维迪(Prakhar Trivedi)

首先从项目中删除所有.pyc文件,然后依次运行以下命令。

$ django-admin.py migrate auth
$ django-admin.py migrate contentypes
$ django-admin.py migrate sites
$ django-admin.py migrate YOUR_USER_APP
$ django-admin.py migrate

如果这不起作用,则对所有应用程序一一使用makemigrations,如下所示:

$ python manage.py makemigrations 
$ python manage.py migrate --fake

并确保删除所有扩展名为.pyc的文件。

为此,请从您的代码中删除“ managed = False”该错误是因为数据库中没有名为“病人”的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

django.db.utils.ProgrammingError:关系“ ...”不存在

“ django.db.utils.ProgrammingError:关系“ auth_user”不存在” Django V2.0

django.db.utils.ProgrammingError:无法加载:关系“”的列“”不存在

django.db.utils.ProgrammingError:关系“ bot_trade”不存在

django.db.utils.ProgrammingError: 运行 makemigrations 时关系“company_company”不存在

django.db.utils.ProgrammingError:递归模型不存在关系

django.db.utils.ProgrammingError:类型“ raster”不存在

django.db.utils.ProgrammingError:表不存在

Django测试失败,出现“ django.db.utils.ProgrammingError:关系“ django_content_type”不存在”

还有一个“django.db.utils.ProgrammingError:关系“device_gclouddevice”不存在”

django.db.utils.ProgrammingError:列am.amcanorder不存在

django.db.utils.ProgrammingError:类型“ int4range”不存在

django.db.utils.ProgrammingError:(1146,“表'med_portal.Custparent'不存在”)

django.db.utils.ProgrammingError:OenBSD vps已经存在关系

找不到 django/mysql 表 - django.db.utils.ProgrammingError: (1146, "表 'trustline.authentication_user' 不存在")

django.db.utils.ProgrammingError:使用heroku和djongo不存在column Calculator_calculation._id

django.db.utils.OperationalError:严重:角色“ django”不存在

django.db.utils.ProgrammingError:关系“choices_keyword”的列“image”已经存在

django.db.utils.ProgrammingError:关系“ django_site_domain_v2339b81_uniq”已存在

django.db.utils.OperationalError:致命:数据库不存在(postgres /部署到digitalocean)

Docker-psql:django.db.utils.OperationalError:致命:角色“ admin”不存在

django.db.utils.OperationalError:严重:数据库“路径”不存在

Django Rest框架关系

syncdb django.db.utils.ProgrammingError时出错:关系django_migrations的权限被拒绝

解决“ django.db.utils.ProgrammingError:关系django_migrations的权限被拒绝”的步骤

ProgrammingError:关系“ django_session”不存在

Python Django-内部错误ProgrammingError关系不存在

ProgrammingError:关系“ django_site”不存在

将Django连接到Postgres:django.db.utils.OperationalError:严重:数据库“ DATABASENAME”不存在