小编Oke*_*ima的帖子

Django 上的 MakeMigration 错误 - ImportError:无法从“django.db.models”导入名称“FieldDoesNotExist”

添加新模型字段并运行 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 django-models python-3.x docker django-migrations

11
推荐指数
2
解决办法
1万
查看次数

如何在 Django 模板中将 get_absolute_url() 与外键对象一起使用

我对 django 比较陌生,我已经搜索过这个问题但找不到解决方案。如果解决方案很明显,请原谅我,但我似乎无法做到正确。

所以,这就是问题所在。我有两个模型ParisionerCommunity。教区居民与社区具有多对一的关系。在 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)

python django django-templates django-models django-urls

5
推荐指数
1
解决办法
1375
查看次数