我有这个模型,其中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",),
)
选择重复项时,只有年份显示为自动填充的可编辑休息。