2017-05-05 49 views
1
class student(models.Model): 
     first_name = models.CharField(max_length=30) 
     last_name = models.CharField(max_length=30) 

    class details(models.Model): 
     first_name = models.ForeignKey(student,models.DO_NOTHING, db_column='first name', blank=True, null=True) 
     last_name = models.ForeignKey(student,models.DO_NOTHING, db_column='second name', blank=True, null=True) 

在這裏,名字和姓氏是下拉式。這段代碼下拉顯示studentObjects不是first_name和lastname的值。如何分別爲同一模型中的兩個外鍵返回兩個值?

我們使用

def __str__(self): 
     return self.first_name 

,但不知道如何姓氏發送。

請幫我一把。

+0

不清楚你想達到什麼。你能解釋一下真正的問題嗎(不是你認爲可能會發揮作用的問題)。另外:你是否知道ForeignKey用於關聯對象(而不是域)?我的意思是......可以詳細說明兩個不同的學生?什麼是「細節」對象? – MariusSiuram

+0

更新問題。 –

+0

'return「%s%s」%(self.first_name,self.last_name)'? –

回答

0

我不喜歡你的數據結構,我懷疑你不是真的想這樣做。

假設如下:

class student(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30) 

    def __str__(self): 
     return "%s %s" % (self.first_name, self.last_name) 


class details(models.Model): 
    student = models.ForeignKey(student, models.CASCADE) 

這是爲了曾經有student對象(學生由其first_namelast_name標識)。並且每個details對象可以與單個student相關(如果您想更改關係,請這樣做)。

該關係介於student及其details之間。我不確定這是你想達到的目標,但也許有意義?

相關問題