2016-10-08 6 views
0

Ich habe zwei Modelle, die durch den Fremdschlüssel verknüpft sind. RunConfig RunConfig Der StatusDjango - Erhalte ID des ForeignKey-Objekts in der Listenansicht

class RunConfig(models.Model): 
    config_name = models.CharField(max_length=100) 

class RunConfigStatus(models.Model): 
    config_run_name  = models.CharField(max_length=200,unique=True) 
    config_name   = models.ForeignKey('RunConfig',on_delete=models.CASCADE,)   
    Overall_Status  = models.CharField(max_length=50,blank=True,null=True) 

Ich bin derzeit mit einer Liste CBV Ansicht für RunConfigStatus. Ich möchte das Fremdschlüsselobjekt auf seine Detailansicht verweisen/verlinken. Ist das möglich?

class RunConfigStatusListView(LoginRequiredMixin,ListView): 
    model = RunConfigStatus 
    context_object_name = 'run_config_status_list' 

Auf meiner Vorlage:

{% for run in run_config_status_list %} 

<td><a href={% url 'runconfigstatus-detail' pk=run.id %}>{{run.config_run_name}}</a></td> 

    <td>{{run.config_name}}</td>       
    <td>{{run.Overall_Status}}</td> 

Ich möchte, dass config_name a href haben sollte, die

<td><a href={% url 'runconfig-detail' pk=**NOT SURE** %}>{{run.config_name}}</a></td> 

Screen Shot meiner aktuellen Ausgabe RunConfig Detailansicht umleitet, enter image description here

Ich möchte auf Config Name Werte klicken und es sollte umleiten zu seine Detailansicht. (In diesem Fall Test, MyFirstTest für alle Einträge)

Antwort

2

Natürlich ist es möglich. Sie sind bereits die runconfig Namen zugreifen, können Sie genau mit dem Stück das gleiche tun:

<a href="{% url 'runconfig-detail' pk=run.config_name.id %}"> 

aber Sie wirklich eine weniger verwirrende Namen für den Fremdschlüssel holen sollte; Das Feld config_name zeigt nicht auf einen Namen, sondern auf eine RunConfig-Instanz.

+0

Vielen Dank @Daniel, das hat für mich funktioniert. Sie haben Recht, ich sollte einen anderen Namen verwenden, Dieser Name hat mich tatsächlich vergessen, dass config_name eine Instanz ist. – just10minutes

Verwandte Themen