开发者

Slug field error in django

开发者 https://www.devze.com 2023-03-01 06:33 出处:网络
I am trying to integrate the following Blog app to my site,I get the following error for the slug field ,how to resolve this issue

I am trying to integrate the following Blog app to my site,I get the following error for the slug field ,how to resolve this issue

     TypeError at /login/

     __init__() got an unexpected ke开发者_开发问答yword argument 'prepopulate_from'

     Request Method:   GET
     Request URL:   http://192.168.254.35/accounts/login/new_wind/
     Django Version:   1.2.1 SVN-1957
     Exception Type:   TypeError
     Exception Value:

     __init__() got an unexpected keyword argument 'prepopulate_from'

This is my models.py

from django.db import models
from datetime import datetime

class BlogPost(models.Model):
  title = models.CharField(max_length=128)
  slug = models.SlugField(prepopulate_from=('title',))
  body = models.TextField()
  published = models.BooleanField(default=True)
  date_posted = models.DateTimeField(default=datetime.now)

def __unicode__(self):
    return self.title

class Admin:
    pass


The error says it all: a SlugField does not take the keyword argument prepopulate_from. The docs back this up - it only takes the argument max_length in addition to the standard argument. This should be done in the admin class instead.

Edit: So your model file would be:

from django.db import models
from datetime import datetime

class BlogPost(models.Model):
  title = models.CharField(max_length=128)
  slug = models.SlugField()
  body = models.TextField()
  published = models.BooleanField(default=True)
  date_posted = models.DateTimeField(default=datetime.now)

def __unicode__(self):
    return self.title

and the admin.py file for the same application would be:

from django.contrib import admin
from myapp.models import BlogPost

class BlogPostAdmin(admin.ModelAdmin):
    prepopulated_fields = {"slug": ("title",)}

admin.site.register(BlogPost, BlogPostAdmin)

If you don't understand how the admin site works, see Part 2 of the official Django tutorial.


It seems the way to prepopulate has been updated in django, see this question: Is there an easy way to populate SlugField from CharField?

0

精彩评论

暂无评论...
验证码 换一张
取 消