如何通过ForeignKey prefetch_related建立连接?

时间:2015-11-09 13:19:07

标签: python django

我需要优化我的表格。在每行的模板中显示有关图形的信息,并在每次查询时创建。如果我有很多行,那需要很长时间。

我的模特:

class Graphic(models.Model):
    text = CharField(...)
    comment = CharField(...)
    profile = ForeignKey(Profile)


class CardiogramData(models.Model):
    date = models.DateTimeField(...)
    cardiogram = models.ForeignKey('common.Graphic', related_name='data_set')

如果连接来自图形类,那么一切都会很简单。

在视图中:

...
    queryset = Graphic.objects.prefetch_related('profile', 'data_set')

' data_set'不起作用,但' profile'根据需要工作。

1 个答案:

答案 0 :(得分:1)

尝试:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="CENSORED" >

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- Declares the input method service -->
        <service android:name=".CENSORED"
            android:label="@string/keyboard_name"
            android:permission="android.permission.BIND_INPUT_METHOD">
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>
            <meta-data android:name="android.view.im"
                android:resource="@xml/method" />
        </service>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
</manifest>