def test_get_nested(self): results = list( DynamicModel.objects.annotate( x=ColumnGet(ColumnGet("attrs", "sub", "BINARY"), "document", "CHAR") ).values_list("x", flat=True) ) assert results == ["store"]
def test_get_nested(self): results = list( DynamicModel.objects.annotate(x=ColumnGet( ColumnGet('attrs', 'sub', 'BINARY'), 'document', 'CHAR', ), ).values_list('x', flat=True), ) assert results == ['store']
def test_get_null(self): results = list( DynamicModel.objects.annotate( x=ColumnGet('attrs', 'nonexistent', 'INTEGER'), ).values_list('x', flat=True), ) assert results == [None]
def test_get_null(self): results = list( DynamicModel.objects.annotate( x=ColumnGet("attrs", "nonexistent", "INTEGER") ).values_list("x", flat=True) ) assert results == [None]
def test_get_int(self): results = list( DynamicModel.objects.annotate( x=ColumnGet("attrs", "flote", "INTEGER")).values_list( "x", flat=True)) assert results == [1] assert isinstance(results[0], int)
def test_get_float(self): results = list( DynamicModel.objects.annotate( x=ColumnGet("attrs", "flote", "DOUBLE")).values_list( "x", flat=True)) assert results == [1.0] assert isinstance(results[0], float)
def test_get_int(self): results = list( DynamicModel.objects.annotate( x=ColumnGet('attrs', 'flote', 'INTEGER')).values_list( 'x', flat=True)) assert results == [1] assert isinstance(results[0], int)
def test_get_float(self): results = list( DynamicModel.objects.annotate( x=ColumnGet('attrs', 'flote', 'DOUBLE')).values_list( 'x', flat=True)) assert results == [1.0] assert isinstance(results[0], float)
def test_get_invalid_data_type(self): with pytest.raises(ValueError) as excinfo: ColumnGet('bla', 'key', 'INTGRRR') assert "Invalid data_type 'INTGRRR'" in str(excinfo.value)