I keep getting this error whenever I open my Django admin page and click these models.
Here is my 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