3
Ich benutze Python 3.5 und Django 1.10 und versuche, meine app in tests.py zu testen, aber ein Fehler erschien, sagte es: ValueError: Cannot assign "1": "NewsLetter.UserID" must be a "User" instance.
so wie man hier einen fk-Wert zu testen? hier ist der Code:Wie testet man ein Modell mit einem Fremdschlüssel im Django?
class NewsletterModelTest(TestCase):
@classmethod
def setUpTestData(cls):
#Set up non-modified objects used by all test methods
NewsLetter.objects.create(NewsLetterID=1, Email='[email protected]', Connected=False,UserID=1)
class NewsLetter(models.Model):
NewsLetterID = models.AutoField(primary_key=True)
Email = models.CharField(max_length=255)
Connected = models.BooleanField(default=False)
UserID = models.ForeignKey(User, on_delete=models.CASCADE)
class Meta:
db_table = 'NewsLetter'
die Sache ist Benutzer hat auch mehr als ein fk-Feld, so bedeutet das, ich muss model.objects.create zu allen Modellen hinzufügen, die ich in jeder Klasse verwenden werde? – mg22
Sie müssen das Objekt zuerst erstellen, um es an eine Klasse mit einem fk-Feld zu übergeben. Es gibt keinen anderen Weg um diese –
es funktioniert danke. – mg22