“用户操作的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