# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models from ckeditor_uploader.fields import RichTextUploadingField # Create your models here. class Category(models.Model): #类别 cname = models.CharField(max_length=30,unique=True,verbose_name='类别名称') class Meta: db_table = 't_category' verbose_name_plural='类别' def __str__(self): # 首先,检查self.cname是否为None或非字符串类型 if not isinstance(self.cname, str): # 这里,您可以选择抛出一个具体的异常,或者返回一个默认值 # 例如,返回一个空字符串或者一个错误提示 raise ValueError("cname must be a string") # 使用f-string进行字符串格式化 return f'Category: {self.cname}' class Tag(models.Model): #标签 tname = models.CharField(max_length=30,unique=True,verbose_name='标签名称') class Meta: db_table = 't_tag' verbose_name_plural = '标签' def __str__(self): # 首先,检查self.cname是否为None或非字符串类型 if not isinstance(self.tname, str): # 这里,您可以选择抛出一个具体的异常,或者返回一个默认值 # 例如,返回一个空字符串或者一个错误提示 raise ValueError("cname must be a string") # 使用f-string进行字符串格式化 return f'Tag: {self.tname}' class Post(models.Model): title = models.CharField(max_length=100,unique=True) #标题 desc = models.CharField(max_length=100) #简述 content = RichTextUploadingField(null=True,blank=True) created = models.DateTimeField(auto_now_add=True) #发帖时间 category = models.ForeignKey(Category,on_delete=models.CASCADE) #类别 tag = models.ManyToManyField(Tag) #标签 class Meta: db_table = 't_post' verbose_name_plural = '帖子' def __str__(self): # 首先,检查self.cname是否为None或非字符串类型 if not isinstance(self.title, str): # 这里,您可以选择抛出一个具体的异常,或者返回一个默认值 # 例如,返回一个空字符串或者一个错误提示 raise ValueError("cname must be a string") # 使用f-string进行字符串格式化 return f'Post:{self.title}'