Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Sebastian Opałczyński
    @opalczynski
    thx, juz poprawiamy :)
    AdamAexol
    @AdamAexol

    hej, mam kolejny problem z funkcją:

    curl -X GET \
    -H "X-API-KEY: API_KEY" \
    -g 'https://api.syncano.rocks/v1.1/instances/INSTANCE/classes/CLASS/objects/?query={"where_am_i":{"_near":{"longitude":66.5433889,"latitude":25.8447679,"distance_in_kilometers":1}}}'

    ograniczenie distance_in_kilometers nie działa gdy pobieram wszystkie rekordy z tablicy, ale gdy dodatkowo filtruje po jeszcze jednym polu np. pokemonId = 10, to wtedy uwzględnia ograniczenie odległości.
    Możecie to sprawdzić?

    Robert Kopaczewski
    @23doors
    @AdamAexol w testach mamy podobne zapytanie i wszystko dziala. Jakbys mial jakies przykladowe zapytanie ktore nie dziala tak jak trzeba to podeslij mi na priv (tu lub na slacku)
    aexolkuba
    @aexolkuba
    Cześć. Mam problem z rejestracją urządzenia do Pushy iOS przy użyciu http requesta. Wpisując wszystkie dane "z palca" przez stronkę wszystko dodaje się poprawnie (device id jest hashem), a w przypadku puszczania http requesta otrzymuję komunikat {"device_id":["ValidationError Device ID is out of range."]}
    aexolkuba
    @aexolkuba
    Mój błąd, wszystko działa.
    aexolkuba
    @aexolkuba
    This message was deleted
    aexolkuba
    @aexolkuba
    Mógłbym prosić o przykład użycia filtrowania __is w pythonie? W dokumentacji w wersji pythonowej w tabeli z przykładem odnośnie __is jest wklejony inny przykład zawierający __contains.
    Mariusz Wisniewski
    @lifcio
    @opalczynski moglbys pomoc?
    Sebastian Opałczyński
    @opalczynski
    Już patrzę
    Sebastian Opałczyński
    @opalczynski
    Wygląda na to, że tam jest bug - sprawdzę to jutro dokładnie.
    Sebastian Opałczyński
    @opalczynski
    @aexolkuba Wszystko ok :)
    Na szybko mi się nie udało wczoraj sobie przypomniec
    już tłumacze jak to działa
    Zdefiniowałem sobie klasy z takimi schematami:
    test_class -> [{u'filter_index': True, u'type': u'string', u'name': u'test'}]
    relation_test -> [{u'filter_index': True, u'type': u'relation', u'name': u'rel', u'target': u'test_class'}]
    Mały kod 'przygotowawczy':
    test_class = Class.please.get(name='test_class')
    relation_class = Class.please.get(name='relation_test')
    
    test_obj = test_class.objects.create(
        test='razdwa'
    )
    
    relation_class.objects.create(
        rel=test_obj
    )
    Zapytanie '_is':
    filtered = relation_class.objects.list().filter(rel__test__eq='razdwa')
    
    for f in filtered:
        print(f.rel)
    rel -> nazwa pola z relacja; test -> nazwal pola w modelu target eq -> filtr
    pod spodem taki zapis jest tłumaczony na:
    query={"rel": {"_is": {"test": {"_eq": "razdwa"}}}}
    Sebastian Opałczyński
    @opalczynski
    Hope this will help :)
    Oczywiście to nie musi być _eq - można tam użyc wszystkich wspieranych filtrów (poza '_is' - wtedy jest double nested query, którego Syncano nie wspiera)
    aexolkuba
    @aexolkuba
    Muszę odtworzyć takie query {"Kategorie":{"_is":{"id":{"_in":[11,13,9,115]}}}}
    czyli w tym przypadku będzie Kategorieidin = [11,13,9,115]
    Sebastian Opałczyński
    @opalczynski
    categoriesidin=[11, 13, 9, 115]
    ha ha :)
    categories__id__in=[11,13,9,115]
    aexolkuba
    @aexolkuba
    ok ;)
    Dzięki wielkie!
    Sebastian Opałczyński
    @opalczynski
    np
    Sebastian Opałczyński
    @opalczynski
    Działa? :)
    aexolkuba
    @aexolkuba
    Traceback (most recent call last): File "/app/source/main.py", line 47, in <module> all_devices = Object.please.list(instance_name = instance_name, class_name="wydarzenie").filter(Kategorie__id__in=[11,13,9,115]) File "/home/syncano/v5.0/local/lib/python2.7/site-packages/syncano/models/manager_mixins.py", line 12, in inner return func(self, *args, **kwargs) File "/home/syncano/v5.0/local/lib/python2.7/site-packages/syncano/models/manager.py", line 966, in filter self._validate_lookup(model, model_name, field_name, lookup, field) File "/home/syncano/v5.0/local/lib/python2.7/site-packages/syncano/models/manager.py", line 1002, in _validate_lookup raise SyncanoValueError('Lookup supported only for RelationField.') syncano.exceptions.SyncanoValueError: Lookup supported only for RelationField.
    Pole kategorie jest ustawione jako relacja
    Sebastian Opałczyński
    @opalczynski
    @aexolkuba a pokaż mi schemat klasy "wydarzenie"
    aexolkuba
    @aexolkuba
    Schematu nie mam. Wrzucam screenshot.
    Screen Shot 2016-08-24 at 14.47.12.png
    Sebastian Opałczyński
    @opalczynski
    Poszperałem
    to teraz to mamy juz serio buga :(
    aexolkuba
    @aexolkuba
    Przez http request działa zapytanie. W pythonie tylko się krzaczy.
    Sebastian Opałczyński
    @opalczynski
    wiem
    wiem już gdzie
    postaram sie zafiksować do końca tygodnia
    aexolkuba
    @aexolkuba
    Dzięki ;)
    Sebastian Opałczyński
    @opalczynski
    problem jest taki, że jak się nazwy pól powtarzają w modelach 'normalnym' i 'targetowanym' to ten raise pójdzie
    chodziło o to by w pythonie wspierać takie konstrukty: filter(id__eq==1, rel__name__in=['test', 'test2'])
    i teraz w tym Twoim przypadku: Kategorie__id__in -> to id wpada w zły check
    aexolkuba
    @aexolkuba
    This message was deleted
    aexolkuba
    @aexolkuba

    Cześć. Mam pewien problem. W user_profile próbuję stworzyć pole array lub relation, ale wartości pól pozostawiam puste. W codeboxie wywołanie

    temp = Object.please.list(instance_name=instance_name, class_name="user_profile")

    działa, lecz próba filtrowania po jakimkolwiek polu np.

    temp = Object.please.list(instance_name=instance_name, class_name="user_profile").filter(id = 5)

    wyrzuca błąd

    Traceback (most recent call last):
      File "/app/source/main.py", line 42, in <module>
        temp = Object.please.list(instance_name=instance_name, class_name="user_profile").filter(id = 5)
      File "/home/syncano/v4.2/local/lib/python2.7/site-packages/syncano/models/manager.py", line 22, in inner
        return func(self, *args, **kwargs)
      File "/home/syncano/v4.2/local/lib/python2.7/site-packages/syncano/models/manager.py", line 979, in filter
        model = self.model.get_subclass_model(**self.properties)
      File "/home/syncano/v4.2/local/lib/python2.7/site-packages/syncano/models/classes.py", line 222, in get_subclass_model
        model = cls.create_subclass(model_name, schema)
      File "/home/syncano/v4.2/local/lib/python2.7/site-packages/syncano/models/classes.py", line 175, in create_subclass
        field_class = fields.MAPPING[field_type]
    KeyError: u'relation'
    Sebastian Opałczyński
    @opalczynski
    a celowo używasz codeboxa z wersją 4.2?
    aexolkuba
    @aexolkuba
    To już trochę stare codeboxy, zmiana na nową wersję pomogła. Dzięki.
    Sebastian Opałczyński
    @opalczynski
    relacje chyba doszły dopiero w 5.0
    z tego co kojarzę :)
    aexolkuba
    @aexolkuba

    Cześć mam pytanko co do zagnieżdżonych zapytań.

    Object.please.list(instance_name=INSTANCE_NAME,class_name = 'buiding_unit').filter(planet = planet_id,building__name__eq = 'military base')

    Czy zagnieżdżone zapytania tego typu działają jedynie dla pól "relation", czy powinny też działać dla "reference"?