Задача - для каждого пользователя создавать отдельную таблицу с данными и потом с ней работать.
В интернете нашел рецепт, но что-то делаю не так, выдает ошибку...
В этом примере я во views.py пытаюсь создать новую таблицу с именем, зависящим от запроса:
<pre><code>
def create_model(db_table): # функция для создания модели-таблицы с произвольным именем
class CustomMetaClass(ModelBase):
def __new__(cls, name, bases, attrs):
model = super(CustomMetaClass, cls).__new__(cls, name, bases, attrs)
model._meta.db_table = db_table
return model
class CustomModel(models.Model):
__metaclass__ = CustomMetaClass
# Здесь прописываются все имена полей
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=10, verbose_name='Просто заголовок')
return CustomModel
def get_category(request, category_id):
dbName = 'analis' + str(category_id)
new_table = create_model(dbName)
new_table.title = 'Название ' + str(category_id)
new_table.save()
return 'Готово'
</code></pre>
В итоге появляется ошибка на строке new_table.save() - в нее надо передать параметр self, а что передать непонятно..
Подскажите пожалуйста, что я делаю не так?