添加新模型字段并运行 makemigrations 命令后,出现以下错误:
导入错误:无法从“django.db.models”(/usr/local/lib/python3.7/site-packages/django/db/models/ init .py)导入名称“FieldDoesNotExist”
这是我的models.py 的样子:
import uuid
from django.contrib.auth import get_user_model
from django.db import models
from django.urls import reverse
# Create your models here.
class Book(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
price = models.DecimalField(max_digits=6, decimal_places=2)
cover = models.ImageField(upload_to='covers/', blank=True) # New Field
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('book_detail', args=[str(self.id)])
class Review(models.Model):
book = models.ForeignKey(Book, on_delete=models.CASCADE, related_name='reviews')
review = models.CharField(max_length=255)
author = models.ForeignKey(get_user_model(), on_delete=models.CASCADE)
def __str__(self):
return self.review
Run Code Online (Sandbox Code Playgroud)
这是我的迁移文件的当前状态,我有两个。0001_initial.py
# …Run Code Online (Sandbox Code Playgroud) 我对 django 比较陌生,我已经搜索过这个问题但找不到解决方案。如果解决方案很明显,请原谅我,但我似乎无法做到正确。
所以,这就是问题所在。我有两个模型Parisioner和Community。教区居民与社区具有多对一的关系。在 parishioner_detail 页面上,我尝试将社区名称显示为 Community_detail 页面的链接。我觉得我没有正确使用 get_absolute_url() 方法。任何帮助,将不胜感激。
楷模:
from django.db import models
from django.core.urlresolvers import reverse
class Community(models.Model):
name = models.CharField(max_length=41)
description = models.TextField()
leader = models.CharField(max_length=41)
email = models.EmailField()
phone_number = models.CharField(max_length=20)
slug = models.SlugField(max_length=31, unique=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse('people_community_detail', kwargs={'slug': self.slug})
class Parishioner(models.Model):
name = models.CharField(max_length=41)
date_of_birth = models.DateField('date of birth', blank=True)
email = models.EmailField()
phone_number = models.CharField(max_length=20)
start_date = models.DateField('date posted')
societies = models.ManyToManyField(Society, blank=True, related_name='parishoners') …Run Code Online (Sandbox Code Playgroud)