Я пытаюсь создать свою первую Django mySQL модель, которая содержит поле JSON.
Я прочитал документы здесь , но они не Кажется, что демонстрируется пример того, как объявить модель, которая содержит несколько полей, включая JSON поля. Я провел много поисков в Google и SO, но пока не нашел примеров.
Как правильно объявить модель, в которой будут храниться такие данные?
candy_bar_name='Snickers',
info={
'target_markets': [
{
'market_type': 'type_a',
'included_markets': [array of strings]
},
{
'market_type': 'type_b',
'included_markets': [array of strings]
},
{
'market_type': 'type_c',
'included_markets': [array of strings]
},
],
}
ОБНОВЛЕНИЕ 2-13-2020
Ответ на комментарий @ iklina c -
Спасибо за этот комментарий. Я вижу это:
from django_mysql.models import JSONField, Model
class ShopItem(Model):
name = models.CharField(max_length=200)
attrs = JSONField()
def __str__(self):
return self.name
... но меня смущает это:
def __str__(self):
return self.name
Как модель с несколькими полями может возвращать одну строку? Я подумал, что это может быть класс, который определяет одно поле JSON в модели, определенной в другом месте. ;)
ОБНОВЛЕНИЕ 2-14-2020
Это теперь было решено с помощью комментариев к этому сообщению. Это работает:
from django_mysql.models import JSONField, Model
class CandyBars(models.Model):
candy_bar_name = models.TextField()
info = JSONField()