“用户操作的model设计”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“ ==导入必要的模块== 导入模块:系统模块,用户模型 和商品模型 <nowiki>from datetime import datetime from django.db import models from djang…”)
 
第2行: 第2行:
 
==导入必要的模块==
 
==导入必要的模块==
 
导入模块:系统模块,用户模型 和商品模型
 
导入模块:系统模块,用户模型 和商品模型
 +
 
  <nowiki>from datetime import datetime
 
  <nowiki>from datetime import datetime
  
第10行: 第11行:
 
# Create your models here.
 
# Create your models here.
 
User = get_user_model()</nowiki>
 
User = get_user_model()</nowiki>
 +
 +
==用户收藏表UserFav==
 +
<nowiki>
 +
class UserFav(models.Model):
 +
    """
 +
    用户收藏
 +
    """
 +
    user = models.ForeignKey(User, verbose_name="用户")
 +
    goods = models.ForeignKey(Goods, verbose_name="商品", help_text="商品id")
 +
    add_time = models.DateTimeField(default=datetime.now, verbose_name=u"添加时间")
 +
 +
    class Meta:
 +
        verbose_name = '用户收藏'
 +
        verbose_name_plural = verbose_name
 +
        unique_together = ("user", "goods")
 +
 +
    def __str__(self):
 +
        return self.user.username</nowiki>
 +
 +
 +
==用户留言表UserLeavingMessage ==
 +
<nowiki>
 +
class UserLeavingMessage(models.Model):
 +
    """
 +
    用户留言
 +
    """
 +
    MESSAGE_CHOICES = (
 +
        (1, "留言"),
 +
        (2, "投诉"),
 +
        (3, "询问"),
 +
        (4, "售后"),
 +
        (5, "求购")
 +
    )
 +
    user = models.ForeignKey(User, verbose_name="用户")
 +
    message_type = models.IntegerField(default=1, choices=MESSAGE_CHOICES, verbose_name="留言类型",
 +
                                      help_text=u"留言类型: 1(留言),2(投诉),3(询问),4(售后),5(求购)")
 +
    subject = models.CharField(max_length=100, default="", verbose_name="主题")
 +
    message = models.TextField(default="", verbose_name="留言内容", help_text="留言内容")
 +
    file = models.FileField(upload_to="message/images/", verbose_name="上传的文件", help_text="上传的文件")
 +
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")
 +
 +
    class Meta:
 +
        verbose_name = "用户留言"
 +
        verbose_name_plural = verbose_name
 +
 +
    def __str__(self):
 +
        return self.subject
 +
</nowiki>
 +
 +
 +
 +
unique_together: 联合唯一,意思为在这个表中,每一行的user、goods字段必须唯一,不能重复
 +
 +
具体可见[[Django中unique together使用]]中的讲解。
 +
 +
 +
参考文档:[1] https://blog.csdn.net/big_white_py/article/details/102980991

2020年6月23日 (二) 04:00的版本

导入必要的模块

导入模块:系统模块,用户模型 和商品模型

from datetime import datetime

from django.db import models
from django.contrib.auth import get_user_model

from goods.models import Goods
# Create your models here.
User = get_user_model()

用户收藏表UserFav

class UserFav(models.Model):
    """
    用户收藏
    """
    user = models.ForeignKey(User, verbose_name="用户")
    goods = models.ForeignKey(Goods, verbose_name="商品", help_text="商品id")
    add_time = models.DateTimeField(default=datetime.now, verbose_name=u"添加时间")

    class Meta:
        verbose_name = '用户收藏'
        verbose_name_plural = verbose_name
        unique_together = ("user", "goods")

    def __str__(self):
        return self.user.username


用户留言表UserLeavingMessage

class UserLeavingMessage(models.Model):
    """
    用户留言
    """
    MESSAGE_CHOICES = (
        (1, "留言"),
        (2, "投诉"),
        (3, "询问"),
        (4, "售后"),
        (5, "求购")
    )
    user = models.ForeignKey(User, verbose_name="用户")
    message_type = models.IntegerField(default=1, choices=MESSAGE_CHOICES, verbose_name="留言类型",
                                      help_text=u"留言类型: 1(留言),2(投诉),3(询问),4(售后),5(求购)")
    subject = models.CharField(max_length=100, default="", verbose_name="主题")
    message = models.TextField(default="", verbose_name="留言内容", help_text="留言内容")
    file = models.FileField(upload_to="message/images/", verbose_name="上传的文件", help_text="上传的文件")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "用户留言"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.subject


unique_together: 联合唯一,意思为在这个表中,每一行的user、goods字段必须唯一,不能重复

具体可见Django中unique together使用中的讲解。


参考文档:[1] https://blog.csdn.net/big_white_py/article/details/102980991