2017-10-24 1 views
0

Hier muss ich den Vornamen und den zweiten Namen des Benutzers von einer anderen Tabelle wählen. Modell ist StockTransfer aber ich brauche von Benutzern ModellDjango wählen Sie Modellfelder durch in der Metaklasse

class Meta: 
    model = StockTransfer 
    fields = (
     'id', 'from_stock', 'to_stock', 
     'comment', 'products', 
     'status', 'user', 
     'transfer_request', 
     'created_date', 
     'date_delivery', 
     'modified_date', 
     'accepted_time', 
     'cancelled_time', 
     'first__name', 
     'second__name' 

    ) 

Modell (users.py)

class User(AbstractBaseUser, PermissionsMixin): 
    first_name = models.CharField(max_length=255) 
    second_name = models.CharField(max_length=255) 

----- stocktransfer.py (Modell)

class StockTransfer(BaseModel, DeleteMixin): 
PENDING = '0' 
APPROVED = '1' 
CANCELLED = '2' 

STATUS_CHOICES = (
    (PENDING, 'pending'), 
    (APPROVED, 'approved'), 
    (CANCELLED, 'cancelled'), 
) 

from_stock = models.ForeignKey('main.Stock', related_name='from_transfers') 
to_stock = models.ForeignKey('main.Stock', related_name='to_transfers') 
comment = models.CharField(max_length=255, blank=True, null=True) 
status = models.CharField(max_length=1, choices=STATUS_CHOICES, default=PENDING) 
user = models.ForeignKey('main.User', null=True) 

I Ich denke, ich kann den Vornamen und den zweiten Namen auf einfache Art und Weise schreiben Vorname und Nachname in Metaklassenfelder. Ist es richtig? Irgendwelche Ideen?

+0

Was genau über Sie fragen? – bluszcz

+0

Ich möchte den Vornamen und den zweiten Namen des Benutzers über die Tabelle des Benutzers in der Meta-Klasse auswählen. Aber in der Meta-Klasse ein anderes Modell – kenzo

+0

verstehe ich nicht wirklich .. Möchten Sie eine Auswahlbox anzeigen, wo Sie einen Benutzer auswählen können? – GrandGTO

Antwort

0

Unter der Annahme, dass stock_transfer eine Instanz von StockTransfer ist:

stock_transfer = StockTransfer.objects.all().get(id=1) 
first_name = stock_transfer.user.first_name 
second_name = stock_transfer.user.second_name 
+0

ich glaube nicht. In der Meta-Klasse ist StockTransfer, aber ich brauche Felder von User-Tabelle – kenzo

+0

Ihre StockTransfer-Klasse hat einen Feldbenutzer, damit Sie es verwenden können, um es durch die .user zu lesen. – bluszcz

Verwandte Themen