• Django 会议室预定


    表结构分析:

    from django.db import models
    
    # Create your models here.
    from django.db import models
    from django.contrib.auth.models import AbstractUser
    
    
    # 使用了django原生的user表
    class UserInfo(AbstractUser):
        tel = models.CharField(max_length=32)
    
    
    # 会议室表
    class Room(models.Model):
        """
        会议室表
        """
        caption = models.CharField(max_length=32)  # 会议室名称
        num = models.IntegerField()  # 容纳人数
    
        def __str__(self):
            return self.caption
    
    # 预定信息
    class Book(models.Model):
        """
        会议室预定信息
    
        """
        user = models.ForeignKey('UserInfo', on_delete=models.CASCADE)  # 预定的人
        room = models.ForeignKey('Room', on_delete=models.CASCADE)  # 预定的房间
        date = models.DateField()  # 预定会议室时间
        # 这里只是定义了一个元祖而已
        time_choices = (
            (1, '8:00'),
            (2, '9:00'),
            (3, '10:00'),
            (4, '11:00'),
            (5, '12:00'),
            (6, '13:00'),
            (7, '14:00'),
            (8, '15:00'),
            (9, '16:00'),
            (10, '17:00'),
            (11, '18:00'),
            (12, '19:00'),
            (13, '20:00'),
        )
    
        time_id = models.IntegerField(choices=time_choices)
    
        class Meta:
            # 联合唯一不能重复,限制了不能一个时间出现2次预定
            unique_together = (
                ('room', 'date', 'time_id'),
            )
    
        def __str__(self):
            return str(self.user) + "预定了" + str(self.room)

     

  • 相关阅读:
    C语言II博客作业01
    C语言学期总结
    C语言I博客作业01
    C语言I博客作业09
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    First time homework
    C语言II博客作业04
    C语言II博客作业03
  • 原文地址:https://www.cnblogs.com/Rivend/p/11751561.html
Copyright © 2020-2023  润新知