2011-01-14 5 views
1

Ich verwende derzeit Django 1.2.4 und MySQL 5.1 auf Ubuntu 9.10. Das Modell ist:Wird der Wert "NO" in MySQL als "Falsch" geparst, wenn er durch Djangos Fixtures eingegeben wird?

# project/cream/models.py 

class IceCream(models.Model): 
    name = models.CharField(max_length=100) 
    code = models.CharField(max_length=5) 

    def __unicode__(self): 
     return u'%s - %s' % (self.code, self.name) 

Die Armaturen Daten in einer project/cream/fixtures/data.yaml Datei ist:

- model: cream.icecream 
    pk: 1 
    fields: 
    name: Strawberry 
    code: ST 
- model: cream.icecream 
    pk: 2 
    fields: 
    name: Noir Chocolat 
    code: NO 

aus dem Projektordner, rufe ich den Befehl:

python manage.py loaddata cream/fixtures/data.yaml 

die Daten erfolgreich geladen wird in die Datenbank sieht aber wie folgt aus:

False - Noir Chocolat 
ST - Strawberry 

Beachten Sie, wie der erste Eintrag False anstelle von NO ist. Kann jemand dieses Problem in meinen Fixtures beheben?

Antwort

1

NO wird als False behandelt, da PyYaml dies implizit als booleschen Wert erkennt, wie in resolver.py zu sehen ist. Wenn Sie möchten, dass es die tatsächliche Zeichenfolge "NEIN" ist, versuchen Sie es in Anführungszeichen setzen ("").

Verwandte Themen