Как проверить равенство строк с помощью метода factory_boy faker?

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

class Track(models.Model):
    response = models.ForeignKey('Response')
    
    def __str__(self):
        return str(self.response)


class Response(models.Model):
    title = models.CharField(max_length=640)

    def __str__(self):
        return self.title

Я должен иметь доступ к этим классам, как я сделал ниже

r = Response(title='foo')
r.save()

t = Track(response=r)
t.save()

# with this I wanted to test that str(t) == t.response

Классы фабрик выглядят следующим образом:

class ResponseFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Response

    title = factory.Faker('text')


class TrackFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Track

    response = factory.SubFactory(ResponseFactory)

Ниже показано, как я обращался к этим фабричным классам для проверки равенства строк

track = TrackFactory()  # generates random string e.g `foo`
a = str(track) # == foo
b = track.response  # == foo

# however I get an assertion error with the statement below

assert a == b

Не могли бы вы указать, где я ошибся, спасибо.

Вернуться на верх