图书信息系统

表结构设计

#
class Book(models.Model):
    title = models.CharField(max_length=32)
    publish_date = models.DateField(auto_now_add=True)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    memo = models.TextField(null=True)
    # 建立外键,关联publish
    publisher = models.ForeignKey(to="Publisher")
    # 建立多对多关联author
    author = models.ManyToManyField(to="Author")

    def __str__(self):
        return self.title


# 出版社
class Publisher(models.Model):
    name = models.CharField(max_length=32)
    city = models.CharField(max_length=32)

    def __str__(self):
        return self.name


# 做者
class Author(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField()
    phone = models.CharField(max_length=11)
    detail = models.OneToOneField(to="AuthorDetail")

    def __str__(self):
        return self.name


# 做者详情
class AuthorDetail(models.Model):
    addr = models.CharField(max_length=64)
    email = models.EmailField()

 图书信息系统

实践练习:

查找全部书名里包含番茄的书git


查找出版日期是2017年的书spa


查找出版日期是2017年的书名
查找价格大于10元的书设计

查找价格大于10元的书名和价格
查找memo字段是空的书code

查找在北京的出版社blog


查找名字以沙河开头的出版社ci

查找做者名字里面带“小”字的做者
查找年龄大于30岁的做者
查找手机号是155开头的做者
查找手机号是155开头的做者的姓名和年龄it

查找书名是“番茄物语”的书的出版社
查找书名是“番茄物语”的书的出版社所在的城市class


查找书名是“番茄物语”的书的出版社的名称email

查找书名是“番茄物语”的书的全部做者
查找书名是“番茄物语”的书的做者的年龄
查找书名是“番茄物语”的书的做者的手机号码date

查找书名是“番茄物语”的书的做者的地址
查找书名是“番茄物语”的书的做者的邮箱

全部书关联的出版社

 

将全部的书按照价格倒叙排列

 

 查找书名是墨菲定律的书的做者的爱好(跨两张表)

相关文章
相关标签/搜索