问题遇到的现象和发生背景
django框架开发csdn微课小商城的时候,在课程类别表 Category添加了以下函数,就无法新增课程类别信息
def str(self):
return self.name
问题相关代码,请勿粘贴截图
from django.db import models
from user.models import User
import datetime
import os
定义方法,文件存储路径static\img\course
def save_file(instance,filename):
return os.path.join('static','video',filename)
def save_img(instance,filename):
return os.path.join('static','img','course',filename)
Create your models here.
定义课程类别表
class Category(models.Model):
class Meta:
verbose_name = verbose_name_plural = '课程类别表'
# id数据可不定义,django框架会自动生成
name = models.CharField(max_length=32, unique=True, verbose_name="课程类别")
createDatetime = models.DateTimeField(auto_now_add=datetime.datetime.now(), verbose_name='创建时间')
updateDatetime = models.DateTimeField(auto_now=datetime.datetime.now(), verbose_name='创建时间')
# 此处有bug,加上以下部分就无法新增课程类别信息,暂未找到解决方法 20220118
def __str__(self):
return self.name
定义课程信息表
class course(models.Model):
STATUS_CHOICES = (
(0, '收费'),
(1, '免费'),
)
class Meta:
verbose_name = verbose_name_plural = '课程信息表'
courseName = models.CharField(max_length=32, unique=True, verbose_name="课程名称")
fileName = models.FileField(upload_to=save_file,verbose_name="视频名称")
imgname = models.ImageField(upload_to=save_img,verbose_name="课程图片")
pCategory = models.ForeignKey(to=Category, related_name='course_set', on_delete=models.CASCADE, verbose_name='课程种类')
price = models.DecimalField(max_digits=8, decimal_places=2, default=0, verbose_name='售价', blank=True)
summary = models.CharField(max_length=1000, default='', verbose_name='课程介绍', blank=True)
# 0:收费 1:免费,默认0
status = models.PositiveSmallIntegerField(default=0, verbose_name='状态', blank=True, choices=STATUS_CHOICES)
createDatetime = models.DateTimeField(auto_now_add=datetime.datetime.now(), verbose_name='创建时间')
updateDatetime = models.DateTimeField(auto_now=datetime.datetime.now(), verbose_name='创建时间')
userBuyer = models.ManyToManyField(to=User, related_name='userBuyer_set', verbose_name='购买用户', blank=True)
userShoppingcart = models.ManyToManyField(to=User, related_name='userShoppingcart_set', verbose_name='加入购物车的用户', blank=True)