Django ModelForm:self:无法获取<class的repr

2024-10-03 02:48:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个django,它在我的开发环境中工作,但不是我的生产环境。在

如果我调试我的开发环境,我注意到表单的__init__函数会出现以下警告:

self: Unable to get repr for <class 'badges.forms.BadgeAssertionForm'> args <class 'tuple': (None,) kwargs: {'initial': {'badge': <Badge: Test Badge>}}

表单.py

^{pr2}$

表单是在中创建的视图.py公司名称:

def assertion_create(request, user_id, badge_id):
    # view can accept a user_id or badge_id, otherwise they will be 0
    initial = {}
    if int(user_id) > 0:
        user = get_object_or_404(User, pk=user_id)
        initial['user'] = user
    if int(badge_id) > 0:
        badge = get_object_or_404(Badge, pk=badge_id)
        initial['badge'] = badge

    form = BadgeAssertionForm(request.POST or None, initial=initial)

我看到的其他答案都建议在类中添加__str__函数,但是,我以前从未见过需要__str__的模型表单?此外,当我添加一个错误仍然出现。在

我的生产环境中的问题是User字段根本没有出现在表单中。只有徽章区。在

这是模型.py在

class BadgeAssertion(models.Model):
    badge = models.ForeignKey(Badge)
    user = models.ForeignKey(settings.AUTH_USER_MODEL)
    #... some other fields.

编辑:我相信当我将Django升级到1.11(从1.9?)但我不确定。在


Tags: or函数pybadgenoneid表单get