データベース接続性
- まず、次のディレクトリ構造を持つ基本的な Django プロジェクト ファイルが生成されていることを確認します。
特定の構築プロセスの参照リンク: https://blog.csdn.net/David_house/article/details/131188889?spm=1001.2014.3001.5502 - プロジェクトの下で設定ファイルを見つけて開き、関連するコンテンツを変更します。
- アプリケーション名を追加します(ここでのアプリケーション名は app です。最後の行に app を追加しました)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app'
]
- データベース接続情報を変更します。
ここでは mysql データベースを使用しています。「NAME」の後には、使用するデータベース名が続きます。
DATABASES = {
'default':
{
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dfds',
'HOST':'127.0.0.1',
'PORT':3306,
'USER':'root',
'PASSWORD':'123456'
}
}
- アプリ ディレクトリの init ファイルを開きます。これは移行の init ファイルではないことに注意してください。次のコンテンツを追加します。
import pymysql
pymysql.install_as_MySQLdb()
テーブルの作成
- models.py ファイルを開いて、作成したいテーブルの情報を追加します。たとえば、ここで 3 つのテーブルを作成したいとします。具体的な内容は次のとおりです。
# Create your models here.
class Users(models.Model):
#前面的变量名会默认生成为表中的列名,如果想单独设置可以通过属性db_column=''
#当使用CharField时,一定要通过max_length来设置一下最大长度
id=models.AutoField('用户id',primary_key=True) #primary_key为True时表示该列是主键
email=models.CharField('用户邮箱',max_length=50,null=False) #null=False表示不为空
password = models.CharField('用户登录密码',max_length=8,null=False)
class Meta:
db_table='user' #设置对应的表名
class Test(models.Model):
sample_id = models.AutoField('数据唯一标识符', primary_key=True)
classification = models.IntegerField('分类类别', null=False)
features = models.CharField('特征',max_length=1000)
#ForeignKey来指定外键,第一个参数是关联的表,第二个参数是表连接的方式
u_id = models.ForeignKey(Users, on_delete=models.CASCADE)
class Meta:
db_table = 'test'
class getModel(models.Model):
m_id = models.AutoField('模型的唯一标识符', primary_key=True)
model = models.CharField('模型文件保存路径',max_length=1000, null=False)
sample_id = models.ForeignKey(Test,on_delete=models.CASCADE)
class Meta:
db_table = 'model'
- ターミナルを開き、manage.py ファイルが配置されているディレクトリに移動し、
コマンドを実行してpython manage.py makemigrations
対応するモデルを生成します。実行結果は次のとおりです。
3. コマンドを実行して python manage.py migrate
、対応するデータ テーブルを生成します。実行結果は次のとおりです。
最後にデータベースにアクセスして確認したところ、テーブルが自動的に生成されたことがわかりました。
最後の 3 つのテーブルは自分で設計したもので、残りはDjango プロジェクトの実行時に必要になります。データシート