python - Insert list in sqlite table with django
问题描述
I am new to Django and I need some help. I am trying to make sqlite3 database with Djnago. I have created class in models.py, which looks like this:
class Data(models.Model):
vendor_name = models.CharField(max_length=100)
product_name = models.CharField(max_length=100)
versions = models.TextField()
description = models.TextField()
date = models.DateTimeField(default=timezone.now)
I am trying to insert list of data in field named versions. List looks like this:
['8.0.1', '8.0.2', '8.0.3', '8.1.2']
At the end I would like to check, if list contains specific value, for example I would like to check if list contains 8.1.2. If value is in list it should return True. I am able to insert data in database like this:
data = Data(vendor_name='paloalto', product_name='PA', versions=['8.0.1', '8.0.2', '8.0.3', '8.1.2'], description='...')
data.save()
I do not know how to check if database contain specific value in versions field, I will appreciate any help.
解决方案
添加一个新的实体版本。然后在 Data 和 Versions 之间建立 1 对 n 的关系
class Data(models.Model):
vendor_name = models.CharField(max_length=100)
class Versions(models.Model):
data = models.ForeignKey(Data)
version = models.CharField()
def query():
Versions.objects.filter(data__vendor_name='lala', version=3)
推荐阅读
- apache-kafka - kafka connect 和 kafka 主机要求
- java - AddMouseListener 到另一个 AddMouseListener
- mysql - 这两个是不同的 ```RLIKE ^[^aeiou]``` 和 ```NOT RLIKE ^[aeiou]```?
- ruby-on-rails - 验证给我不正确的结果
- php - 如何使用 html 'id' 属性访问 php 页面中的表单详细信息
- android - 弹出菜单在 Android 中无法按预期工作
- graphql - 如何在 apollo-client 中使用枚举?
- jaws-screen-reader - 为什么 JAWS 不阅读整个句子?
- ios - 将 UI 图像定位在 UI 标签的文本“中间”
- javascript - 检索 React.js 元素的 ID