neomodel icon indicating copy to clipboard operation
neomodel copied to clipboard

Feature: add support to pass relationship properties to get_or_create and create_or_update batch operations

Open Wenzel opened this issue 3 years ago • 1 comments

Hi,

I'm using get_or_create() class method to bulk create a set of nodes.

However, I also would like to pass additional relationship properties as well, like a date for example:

class PetsRel(StructuredRel):
    date = StringProperty()

class Dog(StructuredNode):
    name = StringProperty(required=True)
    owner = RelationshipTo('Person', 'owner')

class Person(StructuredNode):
    name = StringProperty(unique_index=True)
    pets = RelationshipFrom('Dog', 'owner', model=PetsRel)

bob = Person.get_or_create({"name": "Bob"})[0]
bobs_gizmo = Dog.get_or_create({"name": "Gizmo"}, relationship=bob.pets, rel_props=({"date": '01-01-2015"}))

What do you think ?

If we compare with py2neo, they separated the bulk operations into 2 functions:

Could you add support for that in the future ?

Bulb node insertion and merging is super useful, especially with a high-level OGM like Neomode.

Thanks for the support !

Wenzel avatar Nov 01 '21 23:11 Wenzel

This would be awesome. In my project, I'll either need to use raw cypher queries or switch to py2neo.ogm, but this would have been great to have.

Enprogames avatar Jun 14 '22 02:06 Enprogames