本文共 1636 字,大约阅读时间需要 5 分钟。
本文将详细介绍如何在Django框架中利用ORM对MySQL数据库进行一对多关系模型的操作,适合对Django ORM有一定了解的开发者。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '123456', }} 我们需要创建两张表:Account和Contact。以下是模型代码:
from django.db import modelsclass Account(models.Model): user_name = models.CharField(max_length=80) password = models.CharField(max_length=255) def __str__(self): return "Account: %s" % self.user_nameclass Contact(models.Model): account = models.ForeignKey( Account, on_delete=models.CASCADE, ) mobile = models.CharField(max_length=20) def __str__(self): return "%s, %s" % (self.account.user_name, self.mobile)
运行迁移命令:
python manage.py makemigrationspython manage.py migrate
输出结果如下:
Operations to perform:Apply all migrations: admin, app01, auth, contenttypes, sessionsRunning migrations:Applying contenttypes.0001_initial... OKApplying auth.0001_initial... OK...Applying app01.0001_initial... OK
from app01 import models# 创建账户a1 = models.Account.objects.create(user_name='Rose')# 创建联系记录c1 = models.Contact.objects.create(account=a1, mobile='123456')c2 = models.Contact.objects.create(account=a1, mobile='654321')# 保存数据c1.save()c2.save()
# 查询联系记录contacts = models.Contact.objects.all()# 按照ID查询c3 = models.Contact.objects.filter(pk=1)
# 修改联系记录的手机号c2.mobile = '78910'c2.save()
a1.delete()
以上操作展示了如何在Django ORM中对一对多关系模型进行 CRUD 操作,希望对您有所帮助!
转载地址:http://swgd.baihongyu.com/