Что ж, похоже, это ошибка в Django-CMS.Я никогда не использовал его, но, глядя на код, ясно, что поле формы по умолчанию для PlaceholderField
создает лямбду, которая принимает один аргумент - набор запросов, но функция рендеринга для этого поля формы вызывает лямбду с двумя аргументами -request и queryset.
Вероятно, лучший способ исправить это - определить собственный подкласс PlaceholderField
, который переопределяет метод formfield
, чтобы он возвращал правильную лямбду:
class FixedPlaceholderField(PlaceholderField):
def formfield(self, **kwargs):
return self.formfield_for_admin(None, lambda request, qs: qs, **kwargs)
и вместо этого используйте это поле в вашей модели.
Если это исправит ошибку, вероятно, стоит поднять ошибку в Django-CMS.