Django框架 app间互借models字段的操作

Django中多个app之间导入对方models数据库表的方法:即关联多个app间数据库操作models.py的方法
  1、在当前models.py 文件中,导入要关联的app项目model.py文件
  2、按照以往建立ORM数据库表操作的步骤,创建类,创建字段,当需要另一张表内的字段时,通过一对一的操作导入。
举例说明如下:

- app01 项目下的models.py文件:
class User(models.Model):
    """
    用户表
    """
    username = models.CharField(verbose_name='用户名', max_length=32)
    password = models.CharField(verbose_name='密码', max_length=64)
    email = models.EmailField(verbose_name='邮箱')

    def __str__(self):
        return self.username
- app02项目下的models.py 文件想关联 app01 项目中 的用户表:
from django.db import models
from app01.models import User as App01User #导入模块下的类名
class UserInfo(models.Model):
    nickname = models.CharField(max_length=32)
    user = models.OneToOneField(App01User) #以一对一的方式导入这个类,建立关联,相对应的字段也会在这个表中生成

class Student(models.Model):
    title = models.CharField(max_length=32)

注意:这种关联表操作,不影响数据库表的创建,生成表的时候,关联的相应字段也会在当前表中创建!

posted @ 2017-08-13 22:18  细雨蓝枫  阅读(250)  评论(0编辑  收藏  举报