Bonjour,
je cherche à modifier mon fichier admin.py de mon application ordis:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from ordis.models import Ordi, Maintenance, OperatingSystem
from django.contrib import admin
 
#class MaintenanceAdmin(admin.ModelAdmin): 
    #list_display = (???) here I would like to see my Computer id, and the OS installed on it
 
def renvoi_os(Ordi):
    #return ("%d" % (Ordi.id)).upper()
    return ("%d %d" % (Ordi.id, Ordi.operatingsystemused)).upper()
class MaintenanceAdmin(admin.ModelAdmin):
    list_display = (renvoi_os,)
#class OrdiAdmin(admin.ModelAdmin):
 
 
admin.site.register(Ordi)
admin.site.register(Maintenance,MaintenanceAdmin)
admin.site.register(OperatingSystem)
Ce admin.py est associé à mon fichier models.py que voici:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from django.db import models
 
from django.db.models import (Model, BooleanField,
    CharField, DateTimeField, TextField, URLField,
    EmailField, ManyToManyField, ForeignKey, IntegerField,
    FileField, ImageField)
 
# Create your models here.
 
class OperatingSystem (models.Model):
    operatingsystem = CharField (max_length=30, blank=True, null=True)
class Ordi(models.Model):
    architecture = CharField (max_length=30, blank=True, null=True)
    operatingsystemused = ManyToManyField(OperatingSystem, null=True, blank=True)
class Maintenance(models.Model):
    ordi=ForeignKey(Ordi, blank=True, null=True)
    action = TextField(null=True, blank=True)
QUand je n'appelle que l'Ordi.id dans le admin.py (ligne commentée), j'obtiens bien le numéro de l'ordi correspondant dans Maintenance. En revanche, la ligne avec Ordi.id + Ordi.operatingsystemused me renvoie simplement (None).

Il y a quelquechose que je fais de travers??

Merci de votre aide.

Florian