如何将 child 中的 no of child 修改为 parent in django-mptt?
How to fix no of child to parent in django-mptt?
我想为每个 parent 修复 2 children。
Models.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)
请帮我解决这个问题。
您可以在 createview 中使用表单 form_valid 函数
修复此问题
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)
我想为每个 parent 修复 2 children。
Models.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)
请帮我解决这个问题。
您可以在 createview 中使用表单 form_valid 函数
修复此问题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)