Django models.py没有pk

杜贤信

我正在创建一个博客应用。在此应用中,用户可以创建博客文章并查看。我有一个问题要让帖子的网址与pk和slug有关。

models.py

class BlogPost(models.Model):
title                   = models.CharField(max_length=50, null=False, blank=False)
body                    = models.TextField(max_length=5000, null=False, blank=False)
image                   = models.ImageField(null=True, blank=True)
date_published          = models.DateTimeField(auto_now_add=True, verbose_name="date published")
date_updated            = models.DateTimeField(auto_now=True, verbose_name="date updated")
author                  = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
slug                    = models.SlugField(blank=True, unique=False)



def __str__(self):
    return self.title

def get_absolute_url(self):                                             
    print(self.pk, self.slug)
    return reverse('blog:detail', kwargs={
        'pk': self.pk,
        'slug': self.slug
    })

views.py

app_name = 'blog'

urlpatterns = [
    path('create/', create_blog_view, name="create"),
    path('<pk>/<slug>/', detail_blog_view, name="detail"),
    path('<slug>/edit/', edit_blog_view, name="edit"),
 ]

问题是,models.py仅具有子弹而没有pk。因此它无法创建该URL。我该怎么办?先感谢您。

乔治·波利奥维(George Poliovei)
...
def get_absolute_url(self):                                             
    return reverse('blog:detail', args=[self.id, self.slug])
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

django:LookupError:App'没有'models'模型

Django models.py错误

Django:在models.py 中出错并迁移,尝试修复错误但django 在models.py 中没有看到任何更改

没有pk的django网址

Django:models.py中的def save()

Django models.py中的NameError

在 django models.py 中使用 if else

在Django Models.py中添加时间

AttributeError:模块“ django.db.models”没有属性“ RichTextField”

AttributeError:模块'django.db.models'没有属性'cascade'

模块“ django.db.models”没有属性“ FileBrowseField”

AttributeError: 模块 'django.db.models' 没有属性 'MultiPolygonField'

django没有名为article.models的模块

'django.db.models' 没有属性 'StdImageField'

终端问题“'django.forms.models'没有属性'Model'

AttributeError: 模块 'django.db.models' 没有属性 'JSONField'

AttributeError:模块“django.db.models”没有属性“ManyToMany”

Django - 我的 django models.py 文件之间的冲突

Django Models Filefiled 根据查询 ID/pk 保存

网址中没有pk的Django UpdateView

Django模型manager.py和models.py

从 views.py 更新 Django Models.py 的属性

获取AttributeError:模块“ django.db.models”在Django 1.11中没有属性“ UniqueConstraint”

Django-models.py models.E006将参数传递给函数

读取和写入存储在 Django Models.py 中的 PDF

如何从Django模板访问models.py中的常量?

Python,Django:在 models.py 中限制 IntegerField

Django数据迁移与models.py不匹配

从 Django 应用程序中删除“models.py”