Можно ли использовать одно и тоже поле модели для разных целей?
Подскажите, пожалуйста, можно ли использовать одно и тоже поле модели несколько раз для разных целей? Объясню. Я начал изучать django rest и накидал простенькую модельку для тренировки:
from django.contrib.auth import get_user_model
from django.db import models
class Car(models.Model):
vin = models.CharField(verbose_name='vin', unique=True, db_index=True, max_length=64)
colour = models.CharField(verbose_name='colour', max_length=64)
brand = models.CharField(verbose_name='brand', max_length=64)
CAR_TYPES = (
(1, 'Седан'),
(2, 'Хэчбэк'),
(3, 'Универсал'),
(4, 'Купе'),
)
car_type = models.IntegerField(verbose_name='car type', choices=CAR_TYPES)
car_owner = models.ForeignKey(get_user_model(), verbose_name='user', related_name='car', on_delete=models.CASCADE)
Я использую поле car_owner, чтобы при POST запросах в таблицу записывалось кто конкретно добавил данную запись. На сайт drf я вычитал, как это делается и собственно это работает. На основе этого родилась вьюха
class CarsViewSet(ModelViewSet):
"""ViewSet для CRUD операций над Car"""
queryset = Car.objects.all()
serializer_class = CarDetailSerializer
def perform_create(self, serializer):
serializer.save(car_owner=self.request.user)
и сериалайзер
from rest_framework import serializers
from cars.models import Car
class CarDetailSerializer(serializers.ModelSerializer):
car_owner = serializers.ReadOnlyField(source='car_owner.username')
class Meta:
model = Car
fields = ('id', 'vin', 'colour', 'brand', 'car_type', 'car_owner')
Вопрос - подскажите, пожалуйста, можно ли как-то использовать поле car_owner 2 раза? : Один раз для отображения в формате readonly, кто РЕАЛЬНО создал запись в базу.(что собственно сейчас происходит) А второй раз, чтобы тот, кто постит мог бы выбрать из выпадающего списка другого юзера из той же базы данных. (к примеру постит админ, и он выбирает в выпадающем списке юзера ТЕСТ, по итогу в графе "кто реально запостил" значится админ, а в графе "пользователь" значится ТЕСТ)
Заранее спасибо!