2017-10-24 6 views
0

ここでは、別のテーブルからユーザーのファーストネームとセカンドネームを選択する必要があります。モデルはStockTransferですが、私は、ユーザーモデルからDjangoはメタクラスでモデルフィールドを選択します

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' 

    ) 

モデル(users.py

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

が必要----- stocktransfer.py(モデル)

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私が最初の名前と2番目の名前を選択することができると思うのは、単純な方法で、first_nameとsecond_nameをメタクラスフィールドに書いてください。そうですか? アイデア

+0

について、あなたは正確に何を求めていますか? – bluszcz

+0

私は、メタクラスのユーザーのテーブルを通じてユーザーのファーストネームとセカンドネームを選択したいと思っています。しかし、メタクラスの別のモデル – kenzo

+0

私は本当に理解していない..あなたは、ユーザーを選択することができます選択ボックスを表示したいですか? – GrandGTO

答えて

0

はstock_transferがStockTransferのインスタンスであると仮定すると:

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

私はそうは思わない。メタクラスではStockTransferですが、私はUserテーブルのフィールドを必要とします – kenzo

+0

StockTransferクラスにはフィールドユーザーがいますので、.userを使って読むことができます。 – bluszcz

関連する問題