晚上好,
我想知道是否有一种实用的甚至最好的方法可以在 django 中的一个模板中编辑多个但可变的数据集?
这是一个可以解释我的问题/问题的示例:
用户创建一个对象并定义数量不断变化的子对象......
class Object(models.Model):
name = models.CharField(max_length=50, null=False, blank=False)
sub_objects = models.IntegerField(default=1, validators=[MaxValueValidator(12), MinValueValidator(1)])
date_created = models.DateField(auto_now_add=True)
子对象将在后台创建,名称以特定模式(Objectname_A1、Objectname_A2、Objectname_A3 等)命名,但附加数据为空。在创建对象时,用户不知道这些额外的数据,并且必须稍后填写......
class Subobject(models.Model):
parent = models.ForeignKey(Object, null=False, blank=False, on_delete=models.CASCADE)
name = models.CharField(max_length=50, null=False, blank=False)
additional_data_a = models...
additional_data_b = models...
additional_data_c = models...
additional_data_d = models...
date_created = models.DateField(auto_now_add=True)
现在:
通常用户拥有多个子对象的信息,当然我可以让他/她分别跳入每个数据集并填写缺失的数据......但是没有更好/更有效的方法吗?是否有 - 如果有多种方式,哪种方式最好 - 一种向用户显示单个模板中一个对象的所有子对象并让他/她编辑它们的方法?
希望有人对我的问题有想法或解决方案!?祝你有个美好的夜晚!
我不确定这个想法对你来说是否足够实用,但我喜欢使用它并且很容易!在您的 html 中,在打印您的数据集时,您可以使用它们的 id 来命名它们......例如;
{% for object in dataset %}
<input name="name{{object.id}}" type="text" /> Name of the object
<input name="additional_data_a{{object.id}}" type="text"/> Additional data a of the object
{% endfor %}
之后,在您的视图中,您可以获取 request.POST 元素,例如获取以 additional_data_a 开头的元素并将其拆分。因此,您将拥有元素的 id,并且您将知道您必须更新哪个元素 additional_data_a。试试这个方法,如果你有什么不明白的地方,请告诉我。希望它有帮助:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句