• model格式


    from django.db import models
    from django.utils.html import format_html
    # Create your models here.


    class CategoryModel(models.Model):
    name = models.CharField(max_length=100, null=False, verbose_name='类别名称')

    def __str__(self):
    return '类别:%s' % (self.name)

    def __repr__(self):
    return self.__str__()


    #产品表
    #blank=True,允许后台表单上传时候为空,颜色会变为灰色
    #verbose_name=字段后台表单名称。
    class ProductModel(models.Model):
    name = models.CharField(max_length=100, null=False,verbose_name='产品名称')
    prodectImg = models.FileField(upload_to='./static/upload/',blank=True,verbose_name='产品图片')
    brief = models.TextField(null=False,verbose_name='产品详情')
    pub_date = models.DateTimeField('发布时间', null=True,blank=True)
    category = models.ForeignKey(CategoryModel,on_delete=models.CASCADE)


    def __str__(self):
    return '%s产品:%s'%(self.id,self.name)

    def __repr__(self):
    return self.__str__()



    def imgShow(self):
    imgPath = str(self.prodectImg)
    # print(self.titleImg)
    imgPath = '/'+ imgPath
    # return '<img style="height:150px;auto;" src="%s" />'%imgPath

    return format_html(
    '<img style="height:150px;auto;" src="{}" />',
    imgPath,
    )

    def showProduct(self):
    return format_html(
    '<a href="/product/{}">{}</a>',
    self.id,
    self.name
    )

    class Meta:
    verbose_name = '产品管理'
    verbose_name_plural = '产品管理'


    class OrderModel(models.Model):
    product = models.ForeignKey(ProductModel, on_delete=models.CASCADE)
    num = models.IntegerField()
    price = models.CharField(max_length=100)
    allPrice = models.CharField(max_length=100)

    def __str__(self):
    return '订单id:%s' % self.id

    def __repr__(self):
    return self.__str__()

    class Meta:
    verbose_name = '订单管理'
    verbose_name_plural = verbose_name



    #1对1的操作
    class zhangfu(models.Model):
    name = models.CharField(max_length=50)


    class qizi(models.Model):
    name = models.CharField(max_length=50)
    zhangfu = models.OneToOneField('zhangfu', on_delete=models.CASCADE)


    #1对多和1对1的操作
    # p1 = ProductModel(name='xxx',brief='xxxx')

    # order1 = OrderModel(product=p1,num='xxx',price='xxxxx')





    #多对多的操作
    #假设1篇文章可以在多个类别里,1个类别可以放多篇文章
    #老师跟学生关系
    class Student(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField(default=15)


    class Teacher(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField(default=35)
    student = models.ManyToManyField('Student')

    #多对多添加的操作
    # t1 = Teacher(name='xxx')
    # t1.student.set([多个学生对象])


    # class SwiperModel(models.Model):
    # title = models.CharField(max_length=100, null=False)
    # swiperImg = models.FileField(upload_to='./static/upload/')

    # def imgShow(self):
    # imgPath = str(self.swiperImg)
    # # print(self.titleImg)
    # imgPath = imgPath.replace('static/', '')
    # return format_html(
    # '<img style="height:150px;auto;" src="/jingtai/{}" />',
    # imgPath,
    # )

    # class Meta:
    # verbose_name = '首页轮播图管理'
    # verbose_name_plural = '首页轮播图管理'







  • 相关阅读:
    datagrid表格宽度设置成100%,宽度却不是100%,反而很窄
    Spring MVC 和Struts2对比
    在不知道用户名密码的情况下登录oracle数据库
    IE浏览器的兼容性问题
    在spring mvc 中读取配置文件(porperties)的信息
    godaddy设置方法 控制面板
    easyui datagrid 动态改变大小
    15 个最佳 jQuery 翻书效果插件
    windows7 如何关闭开机启动讲述人
    存储过程代码审核
  • 原文地址:https://www.cnblogs.com/daicw/p/15404225.html
Copyright © 2020-2023  润新知