繁体   English   中英

TypeError:__init __()最多接受2个参数(给定4个)

[英]TypeError: __init__() takes at most 2 arguments (4 given)

尝试运行django的测试时出现错误消息,这是我的模型文件代码

   class MountPoint(models.Model):
       name = models.CharField(max_length=100)
       backend = models.CharField(max_length=200,default=DEFAULT_BACKEND)
       path = models.CharField(max_length=300)

       def __unicode__(self):
           return self.name

这是我测试的课程

  class MountPoint(TestCase):
      def create_mountpoint(self):
          name = "test"
          backend = "test"
          path = user_root
          return MountPoint(name, backend, path)

      def test_mountpoint_creation(self):
          m = self.create_mountpoint()
          self.assertTrue(isinstance(m, MountPoint))
          self.assertEqual(m.__unicode(), m.name)

和我得到的错误信息如下。 它说我有比预期更多的投入。

追溯(最近一次通话):文件“ /Users/xihui/Documents/WebProgramming/django/ece264site/filesystem/tests.py”,行18,在test_mountpoint_creation中m = self.create_mountpoint()文件“ / Users / xihui / Documents /WebProgramming/django/ece264site/filesystem/tests.py“,第15行,在create_mountpoint中,返回MountPoint(name,backend,path)TypeError: init ()最多接受2个参数(给定4个)


在0.009秒内进行了1次测试

失败(错误= 1)

我认为您必须使用关键字args:

return MountPoint(name=name, backend=backend, path=path)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM