- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 TitanGraphDB + Cassandra。我按如下方式启动 Titan
cd titan-cassandra-0.3.1
bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties
我有一个 Rexster shell,可以用来与上面的 Titan+Cassandra 通信。
cd rexster-console-2.3.0
bin/rexster-console.sh
我想通过我的 python 程序对 Titan Graph DB 进行编程。为此我使用了 bulbs 包。
from bulbs.titan import Graph
我想用 get_or_create() 替换我的 create() 调用
我在网上看到了下面的例子。
james = g.vertices.create(name="James")
写成如下图。
james = g.vertices.get_or_create('name',"James",{'name':'james')
现在我的顶点创建函数如下。
self.g.vertices.create({ 'desc':desc,
'port_id':port_id,
'state':state,
'port_state':port_state,
'number':number,
'type':'port'} )
如果我想重写上面的函数调用 (create()
),它使用 get_or_create()
获取多个键值对
我首先需要创建一个 key 。或者它是否默认检查所有属性。
我是 python 的初学者,我并不真正理解 get_or_create('name',"James",{'name':'james')
为什么要这样指定函数属性?
get_or_create() 的函数定义是 here
我们将不胜感激。
最佳答案
Bulbs 的“get_or_create()”方法在索引中查找一个顶点,如果不存在则创建它。您可以像使用 create()
一样提供数据库属性的 get_or_create()
Python dict
。
看...
这里有几个例子......
>>> # a vertex where name is "James" doesn't exist so lookup() returns None
>>> g.vertices.index.lookup("name", "James")
None
>>> # a vertex where name is "James" doesn't exist so a vertex is created
>>> data = dict(name="James", city="Dallas")
>>> james = g.vertices.get_or_create("name", "James", data)
>>> james.data()
{'city': 'Dallas', 'name': 'James'}
>>> james.eid # returns the element ID for the james vertex
>>> 1
>>> # a vertex where name is "James" DOES exist so vertex is returned unmodified
>>> data = dict(name="James", city="Dallas", age=35)
>>> james = g.vertices.get_or_create("name", "James", data)
>>> james.data() # note age=35 was not added to the vertex properties
{'city': 'Dallas', 'name': 'James'}
>>> # one way to update the vertex properities
>>> james.age = 35
>>> james.save()
>>> james.data()
>>> {'city': 'Dallas', 'age': 35, 'name': 'James'}
>>> # a way to update the vertex properties if you only have the vertex ID
>>> # the vertex ID for the james vertex is 1
>>> data = dict(name="James", city="Dallas", age=35)
>>> g.vertices.update(1, data)
>>> james = g.vertices.get(1)
>>> james.data()
>>> {'city': 'Dallas', 'age': 35, 'name': 'James'}
关于python - 灯泡:用 get_or_create() 替换 create(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158348/
我有一个模型叫做零食: class Snack(models.Model): snack = models.CharField(max_length=9) 当我做的时候 Snack.objec
我有以下代码的语法错误: ids_row={} ids_row["releve_annee"]=int(row[0]) ids_row["releve_mois"]=int(row[1]) ids_r
尝试检查艺术家是否存在,如果不存在,则添加或链接到外键并保存。 这是模型 class Artist(models.Model): """Artist model""" title =
这是我的models.py: class Foo(models.Model): id = models.IntegerField(primary_key=True) name = mo
由于未知原因,我的 Django 模型中只有一个(18 个)抛出错误“类型对象‘LidarReading’没有属性‘get_or_create’”。模型声明如下。 class LidarReading
从官方文档看,我无法理解什么是默认参数。 obj, created = Person.objects.get_or_create(first_name='John', last_name='Lenno
我有一个只能使用 get_or_create(session=session) 访问的 Django 模型,其中 session 是另一个 Django 模型的外键。 因为我只通过 get_or_cr
Google App Engine 是否有 Django 的 get_or_create() 的等价物? ? 最佳答案 没有完全等价的,但是get_or_insert是类似的东西。主要区别在于 get
鉴于 object.get_or_create() 的全部意义在于获取对象(如果它已经存在),我不明白为什么它会抛出此代码的完整性错误: class UserAdd(TemplateView): de
我在 get_or_create 调用中使用 icontains 得到了意外结果。 举个例子: >>>team_name = "Bears" >>>Team.objects.get(name__ico
我想插入几个User数据库中的行。我真的不在乎插入是否成功,只要我得到通知,在这两种情况下我都能做到,那么哪一个在性能(主要是速度)方面更好? 始终插入行(通过调用模型的 save 方法)并捕获潜在的
我一直在 Django 应用程序中使用 get_or_create 方法和 MongoEngine。今天,我注意到有一些重复的条目。我在 get_or_create 的 MongoEngine API
我一直在 Django 应用程序中使用 get_or_create 方法和 MongoEngine。今天,我注意到有一些重复的条目。我在 get_or_create 的 MongoEngine API
我在 get_or_create 语句方面遇到问题。如果有记录,它会获取记录但不创建记录。我的所有模型字段都有默认值。 我的观点.py from django.contrib.auth.dec
考虑以下(伪Python)代码: l = [some, list] for i in l: o, c = Model.objects.get_or_create(par1=i["somethi
我的 postgresql 数据库中有一个表,其中包含一个小时记录的状态。对于每个月、项目和用户,我只需要一个状态。我正在使用 get_or_create 方法来创建“状态”或检索它(如果它已经存在)
我有一个像这样的 ExtendedUser 模型,它只指向 Django 的 User 模型: class ExtendedUser(models.Model): user = models.
我必须使用具有相似字段的表,并且我想将对象从一个表复制到另一个表。第二个表中可能没有对象的问题,所以我必须使用 get_or_create() 方法: #these are new products,
我正在尝试对表单中的某些字段使用 get_or_create,但在尝试这样做时出现 500 错误。 其中一行看起来像这样: customer.source = Source.objects.get_o
假设您正在像这样修改管理器中的 get_queryset class VoteManager(models.Manager): def get_queryset(self):
我是一名优秀的程序员,十分优秀!