在我的 React 本机页面中,
我使用参数从一个页面导航到另一个页面
因此这些参数具有 id,它将用于从端点获取数据并将其显示在平面列表中
function Assessments ({route,navigation}) {
useEffect(()=>{
fetchData(file)
},[]);
const { file } = route.params;
const [data,setData] = useState([]);
Run Code Online (Sandbox Code Playgroud)
文件由路由参数(Id)组成
和 fetchdata 函数触发该函数与 id 并获取数据
const fetchData = async (file) => {
axios.get(`endpoint`)
.then(function (response) {
console.log(response.data)
setData(response.data)
})
.catch(function (error) {
console.log(error);
})
}
Run Code Online (Sandbox Code Playgroud)
我正在返回这个
return (
<View>
<Text>okay</Text>
<FlatList
flexGrow= {0}
minHeight= '20%'
maxHeight='80%'
data={data}
renderItem={showdata}>
</FlatList>
</View>
)
Run Code Online (Sandbox Code Playgroud)
渲染项目是
const showdata = ({item}) => {
<View>
sdfdsfsdf
</View>
}
Run Code Online (Sandbox Code Playgroud)
但这部分甚至没有被渲染
不知道问题出在哪里!
控制台.log()
{ …Run Code Online (Sandbox Code Playgroud) 这是我的 models.py
class Post(models.Model):
author=models.ForeignKey(User,on_delete=models.CASCADE,related_name="post")
title=models.CharField(max_length=128,null=True,blank=True)
rate=models.IntegerField(validators=[MinValueValidator(1),MaxValueValidator(5)],default=True,null=True,blank=True)
# rating=models.IntegerField(null=True,blank=True)
content=models.TextField(null=True,blank=True)
review=models.CharField(max_length=250,null=True,blank=True)
url=models.URLField(null=True,blank=True)
voters = models.ManyToManyField(settings.AUTH_USER_MODEL,blank=True,related_name="post_voters")
tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)
在我的serializers.py中我已经导入了
from taggit_serializer.serializers import (TagListSerializerField,
TaggitSerializer)
Run Code Online (Sandbox Code Playgroud)
这是后序列化器
class Spost(serializers.ModelSerializer,TaggitSerializer):
tags = TagListSerializerField()
author=serializers.StringRelatedField(read_only=True)
# likes_count=serializers.SerializerMethodField(read_only=True)
# user_has_voted=serializers.SerializerMethodField(read_only=True)
## for string related field without displaying it as numerics , it displays the direct object of that object"
# user=Scomments()
class Meta:
model = Post
fields = ('id','title','rate','author','content','review','url','tags')
def get_likes_count(self,instance):
return instance.voters.count()
def get_user_has_voted(self,instance):
request=self.context.get("request")
return instance.voters.filter(pk=request.user.pk).exists()
Run Code Online (Sandbox Code Playgroud)
但我现在面临的问题是,每当我触发带有标签的发布请求时,就会创建对象,我会得到该对象以及正在创建的标签,但是当我在管理面板中看到标签部分时,标签部分并未更新
{
"rate": 4,
"content": "content",
"review": …Run Code Online (Sandbox Code Playgroud)