问题描述
我是Django的新手,并且想要创建虚拟数据,因此可以将伪造的库与sqlite db一起使用。创建了models.py和DummyData.py。
models.py
from django.db import models
# Create your models here.
class User(models.Model):
name = models.CharField(max_length=200)
surname = models.CharField(max_length=200)
email = models.EmailField(max_length=200,unique= True)
def __str__(self):
return "Object created " + "Name :-" + self.name + " Surname :-" + self.surname + " Email :-" + self.email
用于创建虚假数据的DummyData.py
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE",'Course.settings')
# 1. method
from .models import User
# 2. method
from appTwo.models import User
两种方式我都无法从出现错误的模型中导入Users类
Method 1 output
ModuleNotFoundError: No module named '__main__.models'; '__main__' is not a package
Method 2 output
ModuleNotFoundError: No module named 'appTwo
在appTwo文件夹中创建空 init .py。文件结构如上。
但是我可以使用Terminal中的方法2导入models.py,所以我有点困惑。
解决方法
我建议以正确的方式初始化Django:
from os import environ as env
if not 'DJANGO_SETTINGS_MODULE' in env:
env.setdefault('DJANGO_SETTINGS_MODULE','Course.settings')
import django # This is important
django.setup() # !!!