-1

模型.py

class userdetails(models.Model):
    userid=models.IntegerField(unique=True)
    firstname=models.CharField(max_length=100,null=False,blank=False)
    lastname=models.CharField(max_length=100,null=True,blank=True)
    emailid=models.CharField(max_length=500,null=False,blank=False)

    def __unicode__(self):
        return self.firstname


class studdetails(models.Model):
    total=models.CharField(max_length=500)
    fkid=models.IntegerField()

    def __unicode__(self):
        return self.userdetails.firstname

我试图获取 studdetails.fkid=userdetails.userid 的 userdetails 表的名字字段。任何人都可以帮忙吗?请!

4

2 回答 2

2

尽量不要手动处理外键和 id

为您的模型使用ForeignKey列类型以与外部表/模型相关联

尝试这个:

class User(models.Model):
    first_name = models.CharField(max_length=100,null=False,blank=False)
    last_name = models.CharField(max_length=100,null=False,blank=False)
    email_address = models.CharField(max_length=500,null=False,blank=False)

    def __unicode__(self):
        return self.firstname

class Student(models.Model):
    total = models.CharField(max_length=500)
    user = models.ForeignKey('User')

    def __unicode__(self):
        return self.user.firstname
于 2013-06-05T13:33:15.623 回答
0

感谢您的回复,我得到了结果,通过使用以下代码。

def __unicode__(self):
    try:
        ud = User.objects.get(userid=self.fkid)
        return u'%s - %s -%s' %(ud.first_name , ud.last_name ,ud.email_address)
于 2013-06-10T11:40:17.023 回答