Python 断言对同一对象失败

Python 断言对同一对象失败,python,django,unit-testing,Python,Django,Unit Testing,单元测试失败,出现以下异常: def test_question_form(self): question = Question(question_text='Dummy question', pub_date=timezone.now( ) + datetime.timedelta(days=1), allow_multiple_choices=True) question_form = QuestionForm( {'question_text': q

单元测试失败,出现以下异常:

def test_question_form(self):
    question = Question(question_text='Dummy question', pub_date=timezone.now(
    ) + datetime.timedelta(days=1), allow_multiple_choices=True)
    question_form = QuestionForm(
        {'question_text': question.question_text, 'pub_date': question.pub_date, 'allow_multiple_choices': 'on' if question.allow_multiple_choices else 'off'})
    self.assertTrue(question_form.is_valid())
    self.assertEqual(question_form.save(commit=False), question)
断言者错误:!=


在一些手动断言之后,对象似乎是相等的,我做错了什么?

由于没有保存实例,因此通过form.save with commit=False返回的模型实例和原始未保存的对象将永远不会相等,除非您重写模型的u eq_u_u方法来处理此问题:

从:

相等方法的定义使具有相同 主键值和同一混凝土等级视为相等, 除了主键值为None的实例不等于除其自身之外的任何对象


您可能创建了两个虚拟问题对象的实例除了重写equal方法之外,还有什么解决方案?是否必须手动断言所有模型成员?请参阅