Выбор элементов из поля "многие ко многим" для связи определенных элементов в списке с моделью в панели администратора
Я работаю над приложением для книги рецептов, и в настоящее время мои модели связаны таким образом:
class Tool(models.Model):
name = models.CharField(max_length=50)
description = models.CharField(max_length=200)
def __str__(self):
return self.name
class Recipe(models.Model):
name = models.CharField(max_length=50)
description = models.CharField(max_length=200)
servings = models.IntegerField(default=1, blank=False)
tools = models.ManyToManyField(Tool)
def __str__(self):
return self.name
В настоящее время вход в панель администратора выглядит следующим образом:
После сохранения данных, как показано на скриншоте, я получаю следующую ошибку:
OperationalError at /admin/recipeBook/recipe/add/
no such table: recipeBook_recipe_tools
Вот мой файл admin.py, на всякий случай, если он будет полезен:
from django.contrib import admin
from .models import Recipe, Ingredient, Instruction, Tool
# Register your models here.
class IngredientInline(admin.TabularInline):
model = Ingredient
extra = 2
class RecipeAdmin(admin.ModelAdmin):
fieldsets = [
('Information', {'fields': ['name', 'description', 'servings']}),
('Tools', {'fields': ['tools']})
]
inlines = [IngredientInline]
list_display = ('name', 'description', 'servings')
search_fields = ['name']
list_filter = ['servings']
admin.site.register(Recipe, RecipeAdmin)
admin.site.register(Ingredient)
admin.site.register(Instruction)
admin.site.register(Tool)
Если у вас возникла ошибка, подобная этой.
Убедитесь, что вы мигрировали свою базу данных после добавления в модели.
