小编Ale*_*Mdg的帖子

Django:我可以在 form.py 中使用模型实例数据预填充表单吗?

我已经在 views.py 文件中看到了一种做我想做的事情的方法,但是因为我可能会在几个不同的地方使用该表单,并且因为我相信它更属于 forms.py,我想知道是否以及如何在不修改视图的情况下,为某个特定用户使用已存储在数据库中的数据预先填写我的表单。看看我尝试过的东西会不言自明:

模型.py:

class Customers(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='details')
    city = models.CharField(max_length=50, blank=True, null=True)
    dpt = models.IntegerField(blank=True, null=True)
    adress = models.CharField(max_length=100, blank=True, null=True)
    cplt_add = models.CharField(max_length=100, blank=True, null=True)
    phone = models.CharField(max_length=14, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

形式.py:

class CustomerForm(ModelForm):

    def __init__(self):

        for field in self.fields:

            user_infos = Customers.objects.get(pk=request.user.details.id)
            initial_value = user_infos.field
            field(initial=initial_value)


    def clean_form(self):

        ...


    class Meta:

        model = Customers
        fields = ['city', 'adress', 'dpt', 'cplt_add', 'phone']
        widgets = {
            'city': TextInput(attrs={
                'class': 'form_input',
                'placeholder': 'Ville'}),
            'dpt': TextInput(attrs={
                'class': 'form_input', …
Run Code Online (Sandbox Code Playgroud)

python django django-views

5
推荐指数
1
解决办法
2780
查看次数

标签 统计

django ×1

django-views ×1

python ×1