【发布时间】:2014-06-11 01:28:31
【问题描述】:
如何在 Python 中获取类属性的类型,就像在 Java 中使用此代码一样?
Field f = ClassName.class.getDeclaredField("attr_name");
Class<?> ftype = f.getType();
有
c = ClassName()
c.__dict__
我可以获取所有属性的名称和值,但不能获取它们的类型。
更具体地说,使用 Django,如果我有两个类,比如 Poll 和 Choice,定义如下
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
我如何知道一个类是否有 models.ForeignKey 作为属性的类型以及它指向哪个其他类?
我需要像这样的输出:
# attribute poll in class Choice is a ForeignKey type
# and it points to Poll model
Choice.poll -> Poll
【问题讨论】:
标签: python django django-models