每当我打开Django管理页面并单击这些模型时,我总是会遇到这个错误
这是我的models.py
from django.db import models
from django.utils import timezone
from django.utils.crypto import get_random_string
import string
import random
code = get_random_string()
class Startup(models.Model):
code = models.CharField(max_length=12, default=code, unique=True)
name = models.CharField(max_length=30)
lead = models.CharField(max_length=50, unique=True)
problem = models.CharField(max_length=100)
solution = models.CharField(max_length=100)
date = models.DateTimeField(default=timezone.now)
def __str__(self):
return self.name
class Idea(models.Model):
startup = models.ForeignKey(Startup, on_delete=models.CASCADE)
summary = models.CharField(max_length=100)
attachment = models.FileField(upload_to='attachments/idea')
member = models.CharField(max_length=50, unique=True)
date = models.DateTimeField(default=timezone.now)
DRAFT = 'DRAFT'
REVISED = 'REVISED'
FINAL = 'FINAL'
TYPE_CHOICES = [
(DRAFT, 'Draft'),
(REVISED, 'Revised'),
(FINAL, 'Final'),
]
type = models.CharField(max_length=7, choices=TYPE_CHOICES, default=DRAFT)
def __str__(self):
return self.summary
class Comment(models.Model):
startup = models.ForeignKey(Startup, on_delete=models.CASCADE)
idea = models.ForeignKey(Idea, on_delete=models.CASCADE)
comment = models.CharField(max_length=100)
member = models.CharField(max_length=50, unique=True)
date = models.DateTimeField(default=timezone.now)
GOOD = 'GOOD'
FINE = 'FINE'
BAD = 'BAD'
RATING_CHOICES = [
(GOOD, 'Good'),
(FINE, 'Fine'),
(BAD, 'Bad'),
]
rating = models.CharField(max_length=4, choices=RATING_CHOICES, default=GOOD)
def __str__(self):
return self.comment
class Product(models.Model):
startup = models.ForeignKey(Startup, on_delete=models.CASCADE)
attachment = models.FileField(upload_to='attachment/product')
version = models.IntegerField()
changes = models.CharField(max_length=100)
member = models.CharField(max_length=50, unique=True)
date = models.DateTimeField(default=timezone.now)
INITIAL = 'INITIAL'
IMPROVE = 'IMPROVE'
FINISHED = 'FINISHED'
STAGE_CHOICES = [
(INITIAL, 'Initial'),
(IMPROVE, 'Improve'),
(FINISHED, 'Finished'),
]
stage = models.CharField(max_length=9, choices=STAGE_CHOICES, default=INITIAL)
def __str__(self):
return self.changes
class Review(models.Model):
startup = models.ForeignKey(Startup, on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)
review = models.CharField(max_length=100)
member = models.CharField(max_length=50, unique=True)
date = models.DateTimeField(default=timezone.now)
GOOD = 'GOOD'
FINE = 'FINE'
BAD = 'BAD'
RATING_CHOICES = [
(GOOD, 'Good'),
(FINE, 'Fine'),
(BAD, 'Bad'),
]
rating = models.CharField(max_length=4, choices=RATING_CHOICES, default=GOOD)
def __str__(self):
return self.review
无论何时更改模型,请运行:
在数据库中应用更改
Migrations | Django documentation
您可能对模型进行了更改并再次迁移,这可能会导致现有模型实例或新创建的模型出现问题。因此,在migrations.py文件夹中,删除最新的迁移并尝试重新迁移
检查类似的解决方案:
operational errors: no such column solution
添加这些模型时是否运行了迁移
您是否在
INSTALLED_APPS
中添加了“app”相关问题 更多 >
编程相关推荐