简体   繁体   English

Django通过元类选择模型字段

[英]Django select model fields through in meta class

Here I need to choose user's first name and second name from another table. 在这里,我需要从另一个表中选择用户的名字和名字。 Model is StockTransfer but I need from Users model 模型是StockTransfer,但我需要用户模型

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'

    )

model ( users.py ) 模型( users.py

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

----- stocktransfer.py (model) ----- 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 think I can choose the first name and second name just simple way write first_name and second_name in metaclass fields. 我想我可以通过简单的方法在元类字段中写入first_name和second_name来选择名字和名字。 Is it right? 这样对吗? Any ideas? 有任何想法吗?

Assuming that stock_transfer is an instance of StockTransfer: 假设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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM