Python复杂查询

时间:2018-10-29 12:02:25

标签: python django python-3.x django-models django-rest-framework

我的模型如下:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <StackPanel>
            <TextBlock Text="{Binding Messages[0]}" HorizontalAlignment="Center"/>
            <Button Content="Change Message" Command="{Binding ChangeMessageCommand}" Width="200"/>
        </StackPanel>
    </Grid>
</Window>

如何使用“偏好设置”表在餐厅模型中进行查询

例如,我需要获得对规范用户具有相同偏好的餐厅?

请任何一个有主意的人帮助我

非常感谢

2 个答案:

答案 0 :(得分:4)

如果通过与用户查询来获得用户偏好,则将获得相应的用户偏好,查询将类似于

user_preference = UserPreference.objects.get(user=user)
fruits = user_preference.fruit.all() # user's fruit preferences
vegetables = user_preference.vegetable.all() # user's vegetable preferences

现在,您获得了用户的所有水果和蔬菜偏好。由此,您可以使用django ORM查询餐厅的偏好设置

restaurant_preferences = RestaurantPreference.objects.filter(fruit__in=fruits, vegetable__in=vegetables)

答案 1 :(得分:1)

我们可以使用以下代码

user = UserPreference.objects.get(id=request.user.id)
vegetables = user.vegetable.all() #all vegetable
restaurant = RestaurantPreference.objects.filter(vegetable__in=vegetables)