2016-11-28 3 views
0

У меня есть модель:Джанго: Исключенные поля сохраняются

from django.db import models 
from tinymce.models import HTMLField 

class Team(models.Model): 
    name = models.CharField(max_length=100, verbose_name='Team name') 
    city = models.CharField(max_length=100, verbose_name='Team city') 
    biography = HTMLField(verbose_name='Team biography') 
    country = models.ForeignKey('Country') 
    slug = models.SlugField(max_length=100) 

    def __str__(self): 
     return self.name 


class Country(models.Model): 
    name = models.CharField(max_length=100, verbose_name='Country name') 
    code = models.CharField(max_length=5, verbose_name='Country code') 

    def __str__(self): 
     return self.code 

И форма для этой модели:

from django import forms 
from teams.models import Team 

class TeamForm(forms.ModelForm): 
    class Meta: 
     model = Team 
     fields = (
      'biography', 
      'city', 
      'country' 
     ) 

И это мое мнение:

def add(request): 
    if request.method == 'POST': 
     form = TeamForm(request.POST) 

     if form.is_valid(): 
      send = True 
      form.save() 
    else: 
     form = TeamForm() 
    return render(request, 'teams/add.html', locals()) 

Как вам может видеть, все мои поля модели требуются, потому что я не добавляю аргумент 'null' в значение True в моих атрибутах модели. В моей модели Model, для тестирования, я просто указываю поля биографии, города и страны.

Но когда я заполнить форму и отправить ее, данные сохраняются в базе данных, однако отсутствует имя и слизняк ....

Почему бы у меня есть исключение Джанго? Спасибо за помощь youre

+0

Это ваш настоящий отступ? Вы сохраняете независимо от того, действителен или нет. – Sayse

+0

отредактирован, но у меня такая же проблема – Alexandre

ответ

2

Ни одно из этих полей не сохраняется как Null. Они оба являются символьными полями (SlugField является подклассом CharField), а пустое поле charfield сохраняется как пустая строка, что совершенно верно с точки зрения базы данных.

+0

Хорошо, так что mysql сохранил пустые строки? – Alexandre

+0

И, например, если я не заполняю поле города на странице формы, у меня есть сообщение об ошибке ... – Alexandre

+0

Ну, да, поле города находится на вашей форме. –

 Смежные вопросы

  • Нет связанных вопросов^_^