Django form之 related_objects 表与之关联(一对多,多对多)的其他字段的对象

 

 

print(obj._meta.related_objects) #与obj对象对应的model关联的所有字段对象集合

如:表关系如下

   
这里有三张表,其余两张有字段与userinfo关联,
class UserInfo(models.Model): name=models.CharField(max_length=32) pwd=models.CharField(max_length=32) type_choices=((1,"讲师"),(2,"班主任")) type=models.IntegerField(choices=type_choices) def __str__(self): return self.name class ClassList(models.Model): name=models.CharField(max_length=32) tutor=models.ForeignKey(to="UserInfo",related_name="cls_tutor",limit_choices_to={"type":2}) teacher=models.ForeignKey(to="UserInfo",related_name="cls_teacher",limit_choices_to={"type":1}) def __str__(self): return self.name class A(models.Model): xxx=models.ForeignKey("UserInfo",related_name="bbb")


视图函数中打印信息

 

 

 

#循环打印出每一个关联的字段对象,
        for obj_related_field in obj._meta.related_objects:
            print(obj_related_field.field_name)   # 关联字段对象的to_field的值
            print(obj_related_field.related_name) #  反向查询别名
            print(obj_related_field.limit_choices_to) # 筛选条件
            print(obj_related_field.to)           # 关联字段关联的表  在此例中就是UserInfo表
            print(obj_related_field.field.model._meta.model_name) # 关联字段对应的model
            
            print("=======================")    
            

 

posted on 2018-03-31 20:48  王大拿  阅读(157)  评论(0)    收藏  举报

导航