无法在views.py中导入models.py

时间:2019-07-12 14:19:36

标签: python django python-2.7 django-models

我想通过从views.py导入数据库中的模型文件来使用它。但是当我从models.py调用一个类时,我得到了一个错误。

ERROR: ImportError: cannot import name Vehicle

我的路径:

+ vehicle
---> __init__.py
---> models.py
---> views.py

vehicle / models.py

from __future__ import unicode_literals
from django.db import models

class Vehicle(models.Model):
    id = models.BigAutoField(primary_key=True)
    plate = models.TextField()
    driver = models.ForeignKey(Driver, models.DO_NOTHING)

    class Meta:
        managed = False
        db_table = 'vehicle'

Vehicle / views.py

from vehicle.models import Vehicle
s = Vehicle.objects.all()
print s

1 个答案:

答案 0 :(得分:2)

如果在视图中调用模型,则可以直接调用

from model import Vehicles

如果要使用完整路径,可以在“路径”上添加车辆的位置

import sys
sys.path.insert(0, 'path_to_vehicle_folder')

from vehicles.model import Vehicles

您现在的做法是,假设您的处决发生在车辆直接飞行之外

vehicles\
    __init__.py
    model.py
    view.py
this.py

this.py中,您可以像导入一样进行导入。

您始终可以执行print(sys.path),以查看您的python在sys.path.insert中查找包/模块的地方:我们添加了一个在查找模块时要包括的位置。有更好的方法:)