﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32207	Slug field is accepting whitespace when entered through Django shell.	Harshvardhan Anand	nobody	"I am using **Django 3.1.3** with **Python 3.7.6**.

1. Slug field is **accepting whitespaces** when updated from Django shell.
2. Slug field is **not prepopulated** if data(like title) is entered from Django shell.

But if slug is entered with whitespaces from admin panel then it will raise error. And similarly if we create data(e.g. - title) from admin panel slug field is prepopulated. 

[https://bit.ly/2Km19CX  I have also created a video(saved in google drive) explaining the issue.]

**In the image below, you can see the slug field with whitespaces -** 

[[Image(https://bit.ly/35FB7Te)]]

**The model I have defined in models.py is** 

{{{
class Post(models.Model):
    STATUS_CHOICES = (
        ('draft', 'Draft'),
        ('published', 'Published')
    )

    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250, unique_for_date='publish')
    author = models.ForeignKey(User, on_delete=models.CASCADE,
                                related_name='blog_post')
    body = models.TextField()
    publish = models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')

    class Meta:
        ordering = ('-publish',)

    def __str__(self):
        return self.title
}}}


**Modified admin panel -** 

{{{
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'slug', 'author', 'publish', 'status')
    list_filter = ('status', 'created', 'publish', 'author')
    search_fields = ('title', 'body')
    prepopulated_fields = {'slug':('title',)}
    raw_id_fields = ('author',)
    date_hierarchy = 'publish'
    ordering = ('status', 'publish')
}}}


"	Bug	closed	Database layer (models, ORM)	3.1	Normal	invalid	slug; prepopulated; error reporting; sqlite		Unreviewed	0	0	0	0	0	0
