-
Notifications
You must be signed in to change notification settings - Fork 94
Description
I need a way to create object with reverse foreign key
like this
await Band.select(
Band.name,
Band.id.join_on(FanClub.band).address.as_alias("address")
)
but for objects:
Warning
await Band.objects(
Band.name,
Band.id.join_on(FanClub.band).address.as_alias("address")
)
return ERROR
Is it is possible to fetch reverse join for many objects - i.e. get list?
Actually, it will be awesome if you tell me easy way to serialize complex dict into Table object
Example of order dict
{'advertisement.id': 16,
'advertisement.ads_type': 1,
'advertisement.seller': 3,
'advertisement.wallet': 22,
'advertisement.fiat_currency': 4,
'advertisement.crypto_currency': 4,
'advertisement.buyer_requirements': 1,
'advertisement.minimum_rating': 0.0,
'advertisement.total_amount_mantissa': 44000,
'advertisement.total_amount_exponent': -2,
'advertisement.min_amount_mantissa': 2000,
'advertisement.min_amount_exponent': -2,
'advertisement.max_amount_mantissa': 50000,
'advertisement.max_amount_exponent': -2,
'advertisement.is_active': True,
'advertisement.price_per_unit_mantissa': 4,
'advertisement.price_per_unit_exponent': 1,
'advertisement.price_per_unit': 40000000000,
'advertisement.time_limit_seconds': 3600,
'advertisement.terms_of_use': 'User 2',
'advertisement.remarks': None,
'advertisement.country': 229,
'advertisement.status': 1,
'advertisement.bank_payment_methods': [127656, 218460, 6, 7],
'advertisement.payment_methods_amounts_mantissa': [],
'advertisement.payment_methods_amounts_exponent': [],
'advertisement.created_at': datetime.datetime(2024, 12, 23, 13, 45, 33, 447435, tzinfo=datetime.timezone.utc),
'advertisement.expires_at': datetime.datetime(2025, 1, 23, 13, 45, 33, 445700, tzinfo=datetime.timezone.utc),
'advertisement.updated_at': datetime.datetime(2024, 12, 23, 13, 45, 33, 447458, tzinfo=datetime.timezone.utc),
'advertisement.hash': 'c94267710caf3c0b8a944c5302abcc136521cbe81d694f6a66da57585ea4787a',
'advertisement.seller.id': 3,
'advertisement.seller.first_name': 'Олександра',
'advertisement.seller.telegram_id': 501904289,
'advertisement.seller.username': 'k_sssashkaaa',
'advertisement.seller.photo_url': 'https://t.me/i/userpic/320/-P1E47kcGbXmbww4nthwAwyJNnXNBvhr49WXAFFE_X4.svg',
'advertisement.seller.auth_date': datetime.datetime(2024, 12, 18, 17, 13, 30, tzinfo=datetime.timezone.utc),
'advertisement.seller.created_at': datetime.datetime(2024, 12, 18, 17, 13, 34, 173242, tzinfo=datetime.timezone.utc),
'advertisement.seller.locked': False,
'advertisement.seller.is_active': True,
'advertisement.seller.secret_code': None,
'advertisement.seller.secret_code_created_at': datetime.datetime(2024, 12, 18, 17, 13, 34, 173242, tzinfo=datetime.timezone.utc),
'advertisement.seller.mnemonic_temp': None,
'advertisement.seller.mnemonic': ['never',
'top',
'pet',
'brick',
'leaf',
'talk',
'hero',
'random',
'blood',
'super',
'sibling',
'pulse',
'piano',
'expire',
'poem',
'dove',
'fox',
'unaware',
'yellow',
'crystal'],
'advertisement.seller.email': None,
'advertisement.seller.code': 0,
'advertisement.seller.email_temp': None,
'advertisement.seller.email_code': None,
'advertisement.seller.expiration_time': None,
'advertisement.seller.email_code_created_at': datetime.datetime(2024, 12, 18, 17, 13, 34, 173242, tzinfo=datetime.timezone.utc),
'advertisement.seller.pin_code': [1, 1, 1, 1],
'advertisement.seller.email_verif': True,
'advertisement.seller.secret_key': '6AY2PR3CE5YAM6LCA524QBTQAP3UF4UO',
'advertisement.seller.sec_key_verif': True,
'advertisement.seller.count_entering_pincode': 0,
'advertisement.seller.count_entering_2fa': 0,
'advertisement.seller.reputation_score': 0.0,
'advertisement.seller.kyc_status': 1,
'advertisement.seller.kyc_verified_at': None,
'advertisement.seller.aml_status': 1,
'advertisement.seller.aml_verified_at': None,
'advertisement.seller.is_mediator': False,
'advertisement.seller.is_admin': False,
'advertisement.seller.count_all_deals': 31,
'advertisement.seller.count_completed_deals': 0,
'advertisement.wallet.id': 22,
'advertisement.wallet.user_id': 3,
'advertisement.wallet.address': 'TKmZp7KyBXTcfeCqWCDxESkFa3SDAkBRAA',
'advertisement.wallet.locked_mantissa': 600,
'advertisement.wallet.locked_exponent': -2,
'advertisement.wallet.currency': 4,
'advertisement.wallet.is_active': True,
'buyer.id': 2,
'buyer.first_name': 'Pavlo',
'buyer.telegram_id': 395818114,
'buyer.username': 'pavlohd',
'buyer.photo_url': 'https://t.me/i/userpic/320/SHX-KVsX91RDsoJ-ejBKST1Vnacq-sEfEOEO8OXuF0g.svg',
'buyer.auth_date': datetime.datetime(2024, 12, 4, 17, 9, 22, tzinfo=datetime.timezone.utc),
'buyer.created_at': datetime.datetime(2024, 12, 4, 17, 9, 25, 943975, tzinfo=datetime.timezone.utc),
'buyer.locked': False,
'buyer.is_active': True,
'buyer.secret_code': None,
'buyer.secret_code_created_at': datetime.datetime(2024, 12, 4, 17, 9, 25, 943975, tzinfo=datetime.timezone.utc),
'buyer.mnemonic_temp': None,
'buyer.mnemonic': ['final',
'essay',
'scissors',
'crumble',
'black',
'almost',
'noble',
'drift',
'foster',
'drip',
'fine',
'final',
'silver',
'will',
'crush',
'airport',
'keep',
'question',
'body',
'merge'],
'buyer.email': '[email protected]',
'buyer.code': 0,
'buyer.email_temp': None,
'buyer.email_code': None,
'buyer.expiration_time': None,
'buyer.email_code_created_at': datetime.datetime(2024, 12, 4, 17, 9, 25, 943975, tzinfo=datetime.timezone.utc),
'buyer.pin_code': [1, 1, 1, 1],
'buyer.email_verif': True,
'buyer.secret_key': 'ZSET7FPS6FQOHQ2VQTTATV343JGUFV6B',
'buyer.sec_key_verif': True,
'buyer.count_entering_pincode': 0,
'buyer.count_entering_2fa': 0,
'buyer.reputation_score': 4.0,
'buyer.kyc_status': 1,
'buyer.kyc_verified_at': None,
'buyer.aml_status': 1,
'buyer.aml_verified_at': None,
'buyer.is_mediator': False,
'buyer.is_admin': False,
'buyer.count_all_deals': 6,
'buyer.count_completed_deals': 0,
'chat_id': 31,
'payment_method.bank_payment_method.bank_id': 127656,
'wallet.id': 7,
'wallet.user_id': 2,
'wallet.address': 'TQjcKhhaHw6Zewbh3fxjmMri5tUJLQaFwY',
'wallet.locked_mantissa': 21300,
'wallet.locked_exponent': -2,
'wallet.currency': 4,
'wallet.is_active': True,
'id': 41,
'advertisement': 16,
'buyer': 2,
'amount_mantissa': 2000,
'amount_exponent': -2,
'payment_method': 24,
'order_status': 6,
'wallet': 7,
'price_per_unit_mantissa': 4,
'price_per_unit_exponent': 1,
'is_satisfied': False,
'comment': '',
'created_at': datetime.datetime(2025, 1, 6, 15, 14, 8, 507772, tzinfo=datetime.timezone.utc),
'expires_at': datetime.datetime(2025, 1, 6, 16, 14, 8, 507782, tzinfo=datetime.timezone.utc),
'completed_at': datetime.datetime(2025, 1, 6, 15, 14, 8, 508082, tzinfo=datetime.timezone.utc)}