zoukankan      html  css  js  c++  java
  • python测试开发django(10)--models设置主键primary_key

    前言

    django的models新增数据库表时,如果不设置主键,会默认新增一个id为主键,如果我们想自己设置一个字段为主键,需加个参数primary_key=True

    默认id主键

    新增一张用户表,表名为account,字段user_name,pwd,mail都是字符串类型,设计如下;

    #models.py
    from django.db import models
    
    # Create your models here.
    class User(models.Model):
        name=models.CharField(max_length=30)
        age=models.IntegerField()
    
    class Account(models.Model):
        user_name=models.CharField(max_length=20)
        pwd=models.CharField(max_length=20)
        mail=models.CharField(max_length=30)
    

     cmd 执行makemigrations和migrate

    python manage.py makemigrations
    python manage.py migrate
    

     然后就可以看到xjyn_account表新建成功了,默认多一个字段id为主键;

     设置主键primary_key

    新增一张用户表,表名为Users,字段user_name(主键),psw,mail都是字符串类型,我们设置user_name为主键,让用户名不重复,设计如下

    #models.py
    from django.db import models
    
    # Create your models here.
    class User(models.Model):
        name=models.CharField(max_length=30)
        age=models.IntegerField()
    
    class Users(models.Model):
        user_name=models.CharField(max_length=20,
                                   primary_key=True)
        pwd=models.CharField(max_length=20)
        mail=models.CharField(max_length=30)

    cmd 执行makemigrations和migrate

    python manage.py makemigrations
    python manage.py migrate

    然后就可以看到xjyn_users表新增成功了,主键user_name就会代替默认的id主键了

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    新思路,坚持创新;好想法,坚持执行
    新的一年,新的梦想
    新的一年,新的梦想
    大秦帝国-《治秦九论》
    大秦帝国-《治秦九论》
    大学生应当趁早谋划未来(二)--给表弟的建议
    大学生应当趁早谋划未来(二)--给表弟的建议
    解读OpenRTB(实时竞价)生态系统
    Java实现蓝桥杯VIP 算法训练 阶乘末尾
    Java实现 蓝桥杯VIP 算法训练 sign函数
  • 原文地址:https://www.cnblogs.com/canglongdao/p/14099744.html
Copyright © 2011-2022 走看看