繁体   English   中英

如何在 django-mptt 中修复没有孩子的父母?

[英]How to fix no of child to parent in django-mptt?

我想为每个父母修复 2 个孩子。

模型.py

class CoachingRegistration(MPTTModel):
    uid = models.UUIDField(unique=True, editable=False, default=uuid.uuid4)
    placement_id = models.CharField(max_length=13)

    parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')

    class MPTTMeta:
        order_insertion_by = ['placement_id']

    def __str__(self):
        return str(self.placement_id) 

请帮我解决这个问题。

您可以使用表单 form_valid function 在 createview 中修复此问题

class CoachingRegistrationCreate(LoginRequiredMixin, SuccessMessageMixin, CreateView):
    model = CoachingRegistration
    form_class = CoachingRegistrationForm
    template_name = 'customer/form_coaching_register.html'

    def form_valid(self, form):
        if 2 > CoachingRegistration.objects.filter(parent=CoachingRegistration.objects.get(coaching_id=form.instance.placement_id)).count():
            return super().form_valid(form)
        else:
            return super().form_invalid(form)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM