Я думаю, что вы смешиваете метод save
сериализатора и метод save
модели Django.И using
это не настройка таблицы, а базы данных.
Я думаю, вы хотите передать using
модели Джанго save
.
Если вы хотите изменить базу данных: (таблицу см. Ниже)
Чтобы передать таблицу using
в метод save
модели, вам необходимодобавьте «дополнительный контекст» к вашему ViewSet через get_serializer_context()
.Должен вернуть словарь.В вашем случае
[...]
get_serializer_context(self)
return {'using': 'users_1'}
Далее вам также необходимо переопределить методы create()
вашего Сериализатора модели.
class UsersSerializer(serializers.ModelSerializer):
[...]
def create(self, validated_data):
obj = JobSeekers(**validated_data)
obj.save(using=self.context['using'])
Указание таблицы :
Для указания конкретной таблицы это обычно аргумент Model.Meta:
class Users(models.Model):
class Meta:
db_table = 'users_1'
Если вы хотите установить таблицу динамически, а не база данных Я думаю, вы можете создать модель и для каждой таблицы определенную модель прокси .Затем выберите модель прокси динамически из кода.
Редактировать: если модель прокси не будет работать, вы можете попробовать с abstract
ПРИМЕЧАНИЕ. Все здесь не проверено инаписано по памяти, но это хорошая отправная точка.