如何用数据库中的数据自动填充ModelForm

时间:2018-10-01 07:43:52

标签: django django-forms django-admin

我有这个模型,其中X,Y和Z作为unique_together字段,充当主键。然后,创建的对象将其数据存储在sqlite3中。我现在需要的是,如果需要使另一个对象具有相同的值,而不是创建一个新的对象,则用户可以单击更改列表视图中提供的重复按钮,这会将他带到以XY为前缀的“模型添加”表单中从数据库填充,只有Y字段可以修改。

我应该如何进行?

在admin.py

    def Duplicate(self,obj):
       new_Client=Client()
       new_Client.Team_Member=obj.Team_Member
       new_Client.Client_name=obj.Client_name
       href1='add/'
        return format_html(('''<a class="btn btn-primary" href={}>Duplicate</a>''').format(href1))

在models.py

class Client(models.Model):
    Team_Member = models.CharField(max_length=120, default='')
    Client_name=models.CharField(max_length=120)
    Client_id=models.CharField(max_length=120)
    Updated_at=models.DateTimeField(default=datetime.datetime.now)
    Created_at=models.DateTimeField(default=datetime.datetime.now)
    Description = models.CharField(max_length=200)
    data=models.TextField(max_length=15000,default={},blank=True)
    year=models.CharField(max_length=20,default='')
    class Meta(object):
        unique_together =(
        ("Team_Member","Client_name","year",),
        )

选择重复项时,只有年份显示为自动填充的可编辑休息。

0 个答案:

没有答案