我有一个具有自相关关系外键和外键的模型,我想使用limit_choices_to = self.parent = parent。但是它不起作用,我尝试了不同的方法,但是没有任何作用
我想在这里限制选择
next_level = models.ForeignKey('flow.State',
on_delete=models.CASCADE,
related_name='get_next_level',
blank=True,
null=True,
limit_choices_to=(Q(workflow_id=workflow)))
这是我的整个模特
class State(models.Model):
workflow = models.ForeignKey(Workflow, on_delete=models.CASCADE, null=True, blank=True)
level = models.IntegerField()
name = models.CharField(max_length=100)
next_level = models.ForeignKey('flow.State', on_delete=models.CASCADE, related_name='get_next_level', blank=True, null=True, limit_choices_to=(Q(workflow_id=workflow)))
return_level = models.ForeignKey('flow.State', on_delete=models.CASCADE, related_name='get_return_level', blank=True, null=True)
approver = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
答案 0 :(得分:0)
据我了解,您有一个a = pd.Series(pd.factorize(df['A'])[0])
b = pd.Series(pd.factorize(df['B'])[0])
df_mask=pd.DataFrame({
'A':np.where(a != -1, 'A' + a.astype(str), ''),
'B':np.where(b != -1, 'B' + b.astype(str), ''),
'C':df['C'].values,
})
print (df_mask)
A B C
0 A0 B0 3.43
1 A0 11.44
2 A1 B1 21.23
3 A2 44.22
4 A3 B1 2.12
5 A3 32.43
6 A4 B0 324.78
7 A0 -6432.93
对象,并且您正在尝试访问Workflow
。您可以简单地将反向关系参数next_level
传递到related_name=get_state
模型中的workflow
ForeignKey字段。这样,您可以访问State
模型的next_level,例如:
Workflow