Python Django ModelForm和动态模型init kwargs

Python Django ModelForm和动态模型init kwargs,python,django,django-models,django-forms,Python,Django,Django Models,Django Forms,我有一个带有\uuuu init\uuu方法的模型: class Foo(models.Model): name = models.CharField(max_length=50) def __init__(self, *args, **kwargs): self.bar = kwargs.pop('bar', False) super(Foo, self).__init__(*args, **kwargs) if self.ba

我有一个带有
\uuuu init\uuu
方法的模型:

class Foo(models.Model):
    name = models.CharField(max_length=50)

    def __init__(self, *args, **kwargs):
        self.bar = kwargs.pop('bar', False)
        super(Foo, self).__init__(*args, **kwargs)
        if self.bar:
            # do something
            pass
现在,我需要创建一个特定的ModelForm:

class FooForm(ModelForm):

    class Meta:
        model = Foo(bar='something')
        fields = ('name',)
这显然不起作用:

TypeError: 'Foo' object is not callable
有什么办法可以克服这个问题吗

更新 关于我想要实现的更多信息:我有一个带有ImageField的图像模型。它有不同的存储方法,具体取决于使用它的窗体

模型:

class Image(models.Model):
    image = models.ImageField(upload_to=imageUploadTo)
    user = models.ForeignKey('auth.User')

    def __init__(self, *args, **kwargs):
        self.overwrite = kwargs.pop('overwrite', False)
        super(Image, self).__init__(*args, **kwargs)
        if self.overwrite:
            self.image.storage = OverwriteStorage()

现在,我希望能够创建覆盖旧图像的表单和使用默认行为的表单。实现这一点的最佳方法是什么?

不,它根本不是这样工作的,这与您的自定义init无关。你不能把里面的东西叫做Meta。在本例中,在视图中初始化表单时传递参数

不,它根本不是这样工作的,这与您的自定义init无关。你不能把里面的东西叫做Meta。在本例中,在视图中初始化表单时传递参数

表单的参数是如何传递到模型初始化的?form=ArticleForm(instance=article),但请注意,您不会浪费时间。目前我有:
form=ArticleForm(request.POST,request.FILES)
-如何将其与您预先初始化实例的方法结合起来?
form=ArticleForm(request.POST,request.FILES,instance=Image(overwrite=True))
表单的参数是如何传递给模型初始化的?form=ArticleForm(instance=article),但看看你不会浪费时间。目前我有:
form=ArticleForm(request.POST,request.FILES)
-如何将其与您预先初始化实例的方法结合起来?
form=ArticleForm(request.POST,request.FILES,instance=Image(overwrite=True))
我用更多背景信息更新了我的问题我用更多背景信息更新了我的问题