操作错误位于/admin/app/review/无此类列:app\u review.startup\u id

2024-04-25 22:33:09 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我打开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

Tags: selftruedefaultonmodelsdeletelengthmax
3条回答

无论何时更改模型,请运行:

$ python manage.py makemigrations

$ python manage.py migrate

在数据库中应用更改

Migrations | Django documentation

您可能对模型进行了更改并再次迁移,这可能会导致现有模型实例或新创建的模型出现问题。因此,在migrations.py文件夹中,删除最新的迁移并尝试重新迁移

检查类似的解决方案:

operational errors: no such column solution

添加这些模型时是否运行了迁移

./manage.py makemigrations
./manage.py migrate

您是否在INSTALLED_APPS中添加了“app”

相关问题 更多 >

    热门问题