Django einzigartige Modell-Felder-Validierung in form

Habe ich ein Modell mit ein paar spezielle Felder und ich Schreibe ein Formular für Sie. Ich fand einen Hinweis auf die [validate_unique][1] Methode, die überprüfen sollten, für die Eindeutigkeit, die auf den Feldern, wenn Sie es nennen, aber meine form .is_valid() gibt immer True.

Mein testcase:

class ServerFormTest( TestCase ):
    def setUp( self ):
        self.server = Server.objects.create( host = "127.0.0.1", name = "localhost" )

    def test_unique_name(self):
        form = ServerForm({
            'name': 'localhost',
            'host': '127.0.0.1'
        })

        self.assertFalse( form.is_valid( ) )

und meine form:

class ServerForm( forms.ModelForm ):
    class Meta:
        model = Server
        fields = ('name', 'host')

    def clean( self ):
        self.validate_unique()
        return self.cleaned_data

server-Modell:

class Server( models.Model ):
    host = models.GenericIPAddressField( blank = False, null = False, unique = True )
    name = models.CharField( blank = False, null = False, unique = True, max_length = 55 )
  • Können Sie Ihre Server - Modell als auch?
Schreibe einen Kommentar