2015-04-20 4 views
0

plz help me. У меня возникают проблемы с пулями в формах. Я создаю формы из моделей. Это models.pyDjango ::: Slug in forms

class hire_article(models.Model): 
hiring = models.CharField(max_length=50) 
slug = models.SlugField(max_length=200) 

Это формы

from django import forms 
from django.forms import ModelForm, Textarea 
from django.utils.translation import ugettext_lazy as _ 
import datetime 
from .models import hire_article 
from django.template.defaultfilters import slugify 
from django.db import models 
from django.contrib import admin 

class postform(ModelForm): 

    # class hire_articleAdmin(admin.ModelAdmin): 
    #  prepopulated_fields = {"slug": ("hiring",)} 
    class Meta: 
     # more_infomation = MyFormField(max_length=200, required=False, 
     #     help_text="Use puns liberally") 
     model = hire_article 
     # exclude = ['slug'] 
     fields = '__all__' 

Это admin.py

from django.contrib import admin 
    from .models import category, hire_article, localwork, salary,   mode_work, exp_year, degree, sex, language 

class hire_articleAdmin(admin.ModelAdmin): 
    prepopulated_fields = {"slug": ("hiring",)} 
    list_display = ('id', 'hiring', 'publication_date', 'namecompany',) 
    admin.site.register(hire_article, hire_articleAdmin) 

Он работает только в админ. Я хочу, чтобы он тоже работал в формах. Заранее спасибо!

+0

, что точно это ошибка? –

+0

Ошибка в поле слива в неработающих формах. – user3863069

+0

поля комментариев = '__all__' и uncomment exclude = ['slug'] –

ответ

0

сделать следующие изменения в вашем models.py и изменения предполагают в комментариях ранее в forms.py

from django.template.defaultfilters import slugify 

class hire_article(models.Model): 
    hiring = models.CharField(max_length=50) 
    slug = models.SlugField(max_length=200) 

    def save(self, *args, **kwargs): 
     self.slug = slugify(self.hiring) 
     super(hire_article, self).save(*args, **kwargs) 

пс: и ваша модель именования не recommended.Look в PEP8 https://www.python.org/dev/peps/pep-0008/#class-names

+0

У вас есть skype или facebook? я действительно хочу сделать с тобой друга. – user3863069

+0

Вы должны отметить это как принятый ответ и нажать кнопку со стрелкой вверх. –

+0

Он сказал: «Vote Up требует 15 репутации» – user3863069